Page 2 sur 2

Re: [WIP] ItemDispatcher

Posté : dim. 10 nov. 2024, 01:33
par DrAzTiK
Question bête mais du coup, qu'est ce que ce mod aurait de mieux et de différent comparé à item randomizer ? ( qui n'est pas fiable à 100 je pense car pas mis à jour mais relativement ok)

Faut pas oublier aussi certains objets de quête : par exemple l'épée de sarevok mais on peut aussi penser à Lilarcorn. Compte tu les randomizer ? Item randomizer le fait pour certaines (pas toutes) mais je crois que ça necessite parfois de changer le dialogue de certains npc.

Re: [WIP] ItemDispatcher

Posté : dim. 10 nov. 2024, 08:52
par Selphira
Tout d'abord, ItemDispatcher (ID) ne fera rien tout seul (du moins dans un premier temps), son but premier est de permettre aux autres moddeurs de pouvoir distribuer leurs objets un peu partout dans le jeu, que ce soit à des emplacements vanilla, ou des emplacements ajoutés par d'autres mods. La notion d'aléatoire est arrivée un peu plus tard (mais rapidement), car elle sonnait comme une évidence.

Contrairement à ItemRandomiser (IR), ID n'est pas fermé, n'importe quel auteur pourra venir greffer ses ajouts s'il le désire. Que ce soit ajouter des objets à distribuer, de nouveaux emplacements, de nouvelles liste ou compléter celles existantes.
Aussi, grâce aux règles de distribution, les moddeurs pourront définir de manière assez fine où seront distribués leurs objets.

ID ne fera rien tout seul, du moins dans un premier temps, il sera tout à fait possible de créer des composants qui ajouteraient des listes de distribution pour supporter l'un ou l'autre mod, ou même devenir une alternative à ItemRandomizer (IR), mais ce serait dans un second temps.

Pour la problématique des objets de quête, j'ai prévu un groupe contenant une liste d'objets à ignorer que le mod ne devra absolument pas déplacer/ajouter/supprimer, justement pour le cas de ces objets de quêtes. Un autre groupe contenant une liste d'objets uniques, afin que le mod n'en rajoute pas plusieurs exemplaires si plusieurs règles de distribution le concerne.

Encore une fois, ces listes pourront être complétées par chacun des mods qui auraient aussi de tels objets, et ce, sans devoir nécessiter mon intervention, ils n'auront qu'à ajouter quelques fichiers dans l'arborescence de leur propre mod.

Je suis bien consciente qu'ID ne sera pas adopté par beaucoup de moddeurs (je le fais avant tout pour moi, par défi et par plaisir), mais ses perspectives d'évolution me semblent vraiment intéressantes. Et j'ajouterai moi-même quelques listes pour des mods que j'apprécie.

Re: [WIP] ItemDispatcher

Posté : dim. 10 nov. 2024, 09:25
par loupgris
qu'est ce que ce mod aurait de mieux et de différent comparé à item randomizer ?
@DrAzTiK Si c'est toujours d'actualité (Selphira me corrigera sinon) son intérêt serait aussi d'être installé vers la fin de l'installation, donc après SCS.
Techniquement, Selphira maîtriserait le random en gardant quand même en "tête" les capacités martiales que la créature a de base.
Si c'est le cas, fini les nouvelles installations à chaque "run".

Re: [WIP] ItemDispatcher

Posté : dim. 10 nov. 2024, 11:00
par Selphira
loupgris a écrit : dim. 10 nov. 2024, 09:25
qu'est ce que ce mod aurait de mieux et de différent comparé à item randomizer ?
@DrAzTiK Si c'est toujours d'actualité (Selphira me corrigera sinon) son intérêt serait aussi d'être installé vers la fin de l'installation, donc après SCS.
Techniquement, Selphira maîtriserait le random en gardant quand même en "tête" les capacités martiales que la créature a de base.
Si c'est le cas, fini les nouvelles installations à chaque "run".
Oui, si la cible est une créature et que l'objet doit être équipé et que c'est une arme ou un bouclier, il va prendre en compte les compétences martiales de la créature pour s'assurer qu'elle peut les utiliser à leur plein potentiel.
Je pense ajouter une option globale au mod pour indiquer le nombre d'étoiles minimales qu'une créature doit avoir afin que l'objet soit équipé, à l'appréciation du joueur donc. Elle serait de 1 par défaut, mais si le joueur veut que les créatures utilisent vraiment à leur plein potentiel, il pourrait renseigner un chiffre plus élevé qui irait jusque 5. Mais de fait, plus le chiffre sera élevé, moins de chance il y aura que la créature reçoive une arme en tant qu'équipement si on est sur une distribution aléatoire. Par contre, en distribution directe, ce sera très utile pour éviter les problèmes.

Attention, si une créature n'a aucune compétence martiale, l'objet sera équipé, SAUF, si la créature fait partie de la liste des créatures qui ne peuvent pas avoir d'arme équipée.

Aussi, j'ai déjà ajouté une protection pour ne pas remplacer les éventuelles objets spéciaux des créatures. Si l'objet qu'elle porte est non droppable, ou qu'elle n'a pas de description, il sera impossible de le remplacer. Ceci car généralement ce genre d'objet est destiné à donner des capacités spéciales à la créature. Cette liste automatique fonctionnera de concert avec la liste des objets à ignorer.

Re: [WIP] ItemDispatcher

Posté : lun. 11 nov. 2024, 18:03
par Selphira
Quelques avancées aujourd'hui sur la sélection aléatoire. Désormais l'objet à distribuer peut être sélectionné de la même manière que la cible, en utilisant les combinaisons.
D'autres améliorations diverses qui étendent les possibilités de filtre et qui préparent l'arrivée de la distribution à proprement parlé.

Avec cette nouvelle sélection d'objet, une nouvelle idée est apparue.

Lorsque l'on sélectionne l'objet aléatoirement ET qu'on indique une quantité plus grande que 1, ID va non pas ajouter xx fois le même objet aux cibles, mais va sélectionner xx objets différents qu'il distribuera aléatoirement aux cibles sélectionnées. Si les cibles sont moins nombreuses que les objets, tant pis pour les objets non distribué.

Prenons cet exemple :

Code : Tout sélectionner

4 leather.arm&1.ilv 10 gnome.rce&male.gnd
Pour ID, cela veut dire : Sélectionne 4 armures de cuir différentes ayant un enchantement +1 et distribue les aléatoirement sur 10 gnomes mâles qui peuvent porter des armures de cuir (condition ajoutée automatique par le mod lorsqu'on veut équiper un objet).
Le script va s'assurer que chacune des 4 armures soit distribuée au moins une fois. Ici on aura 4 armures distribuées 2 fois, et 2 autres seulement 1 fois.

Personnellement j'adore ce genre de chose, mais est-ce que je ne commence pas à aller un peu trop loin ? Cela vous parait-il toujours simple à comprendre et à utiliser ?

Re: [WIP] ItemDispatcher

Posté : mar. 12 nov. 2024, 08:02
par rivvers
L'implicite est un frein je pense. Avoir une logique de distribution différente en fonction du nombre est risqué.
Un moddeur qui fait évoluer son mod et bouge la quantité d'un objet de 1 à 2, s'attendra à avoir 2 objets au lieu de 1 et c'est tout.
Je conseillerais plutôt d'avoir une colonne quantité qui gère la quantité et de gérer la méthode de distribution dans une autre colonne, si aucune colonne ne correspond, mieux vaut rajouter une colonne.

Ajouter des choix, des filtres, de la flexibilité c'est toujours bien et permet d'avoir plus de fonctionnalités et d'augmenter le champ du possible.
Remplacer un fonctionnement par un autre, je dirais que le mieux est l'ennemi du bien.

Bravo pour tes avancées en tout cas

Re: [WIP] ItemDispatcher

Posté : mer. 13 nov. 2024, 07:05
par Selphira
Oui tu as raison, il est préférable d'avoir une autre colonne que d'adapter le comportement selon la valeur renseignée.
Merci !

J'ai pu faire la correspondance entre les types d'objet et les emplacements, finalement c'était assez simple.

Je recherche désormais comment déterminer qu'une créature peut ou non équiper tel type d'objet.
De base, je vais faire en sort que certains types de créatures ne puissent équiper certains types d'objet dès qu'une composante aléatoire entrera en jeu (Ex: les animaux, les dragons, etc), je ne veux par exemple pas empêcher un moddeur d'équiper une armure à un chien s'il le désire et qu'il l'indique explicitement.

Pour les armes, c'est facile, on regarde clasweap.2da et on couple avec weapprof.2da et on vérifie la présence d'opcode 233 sur la créature pour affiner si on veut donner l'objet qu'à des créatures compétentes.

Pour les armures, on peut limiter le port d'armure à certaines classes, mais je ne sais pas comment cela se traduit en jeu.

Pour les autres types d'objets je ne sais pas non plus comment faire. Quelqu'un pourrait m'indiquer comment faire ou aurait un lien vers un tutoriel ?

Re: [WIP] ItemDispatcher

Posté : mer. 13 nov. 2024, 21:57
par rivvers
Je ne comprends pas bien la demande.

Techniquement, on peut s'équiper d'une arme même si on n'a pas le droit de s'y spécialiser. Rien n'empêche un moddeur de spécialiser une créature voleur à la lance et de créer une lance utilisable par les voleurs. Tout ça, en contradiction avec le CLASWEAP et le WEAPPROF.
Il y a au mieux des "normes" et des "conventions". Les restrictions se font item par item en fonction de chaque personnage.

Peux-tu donner des exemples de ce que tu cherches à faire ?