Bonsoir,
J'espère que vous allez bien.
Il est actuellement possible d'avoir un projectile différent en fonction du niveau du sort.
Je suis familier avec le code weidu pour modifier le projectile attribué au sort pour tout les niveaux:
ADD_PROJECTILE ~El[r]in_Dragosh/Projectiles/EL[R]ON.pro~
COPY_EXISTING ~El[r]in_Dragosh/Projectiles/EL[R]ON.pro~ ~override/EL[R]ON.pro~
COPY_EXISTING ~El[r]in_Dragosh/Spells/EL[R]ON.spl~ ~override~ SAY NAME1 @804 SAY NAME2 @804 SAY UNIDENTIFIED_DESC @804
LPF ALTER_SPELL_HEADER INT_VAR projectile = ~EL[R]ON~
END
Cependant je ne trouve pas le code à utiliser pour appliquer un projectile différent pour chaque niveau.
Une personne serait-elle en mesure de m'éclairer?
Merci pour votre précieuse aide.
[SPL] Script Weidu modification Projectile par Level
-
Selphira
- Adepte de Grondemarteau
- Ours des cavernes
- Messages : 1178
- Enregistré le : dim. 25 juil. 2004, 22:28
- Statut : Hors ligne
La méthode simple est que tu peux ajouter un argument (header) lors de l'appel de la fonction ALTER_SPELL_HEADER qui te permet d'indiquer quel header modifier exactement (la numérotation commence à 1).
L'inconvénient est que tu dois connaitre exactement le numéro du header à modifier, si d'autres mods passent avant et en ajoutent ou suppriment, le numéro ne correspondra plus forcément à ce que tu attendais
Une autre technique, un peu plus complexe mais plus sûre, est de boucler manuellement sur les headers du sort, et de vérifier le niveau requis de cet en-tête.
Cela pourrait ressembler à quelque chose comment ça (je n'ai pas testé)
L'inconvénient est que tu dois connaitre exactement le numéro du header à modifier, si d'autres mods passent avant et en ajoutent ou suppriment, le numéro ne correspondra plus forcément à ce que tu attendais
Code : Tout sélectionner
LPF ALTER_SPELL_HEADER INT_VAR projectile = ~EL[R]ON~ header = 2 END Cela pourrait ressembler à quelque chose comment ça (je n'ai pas testé)
Code : Tout sélectionner
GET_OFFSET_ARRAY headerOffsets SPL_V10_HEADERS
PHP_EACH headerOffsets AS _ => headerOffset BEGIN
READ_SHORT (headerOffset + 0x10) required_level
SPRINT projectile ~EL[R]ON~
PATCH_IF required_level <= 10 BEGIN
// Icone spour le niveau 10 et moins
SPRINT projectile ~EL[R]ON1~
END
ELSE PATCH_IF required_level <= 12 BEGIN
// Icone spour le niveau 12 et moins
SPRINT projectile ~EL[R]ON2~
END
SET projectile_id= IDS_OF_SYMBOL (~PROJECTL~ ~%projectile%~) + 1
PATCH_IF projectile_id > 0 BEGIN
WRITE_SHORT 0x26 projectile_id
END
END
Modifié en dernier par Selphira le sam. 20 sept. 2025, 07:42, modifié 2 fois.
- loupgris92
- Momie majeure
- Messages : 3154
- Enregistré le : jeu. 31 oct. 2019, 19:39
- Statut : Hors ligne
[HS]
Une petite remarque.
La moyenne d'un projectile magique est de :
1d4 = 2.5 soit 1d4+1 donc 3.5
Maintenant si on regarde une boule de feu prenons 10d6 au 10, soit 35pts de dégâts ou 17.5pts sur save réussie.
Si au 10 ton projectile est assuré de faire 35pts de dégâts (sans save) pour un sort lvl 1, c'est très/trop puissant.
Sur la franchise dd3 et versions plus élevées, si on peut observer des sorts de ce genre d'acabit, il faut savoir qu'ils "stack" maximum à 5d4.
Autre point, dans les versions plus récentes que ADD2, les personnages continuent à gagner des dés de vie après le level 10.
Bref, là où je veux en venir, si c'est une modification juste pour toi, RAS, par contre si c'est pour proposer un mod, je suis moins sûr que ce choix soit très bien accueilli au regard de la communauté et du respect de la franchise.
Hors sujet OFF
Une petite remarque.
La moyenne d'un projectile magique est de :
1d4 = 2.5 soit 1d4+1 donc 3.5
Maintenant si on regarde une boule de feu prenons 10d6 au 10, soit 35pts de dégâts ou 17.5pts sur save réussie.
Si au 10 ton projectile est assuré de faire 35pts de dégâts (sans save) pour un sort lvl 1, c'est très/trop puissant.
Sur la franchise dd3 et versions plus élevées, si on peut observer des sorts de ce genre d'acabit, il faut savoir qu'ils "stack" maximum à 5d4.
Autre point, dans les versions plus récentes que ADD2, les personnages continuent à gagner des dés de vie après le level 10.
Bref, là où je veux en venir, si c'est une modification juste pour toi, RAS, par contre si c'est pour proposer un mod, je suis moins sûr que ce choix soit très bien accueilli au regard de la communauté et du respect de la franchise.
Hors sujet OFF
- Faust
- Adepte de Grondemarteau
- Loup noir
- Messages : 297
- Enregistré le : mer. 15 avr. 2009, 13:04
- Localisation : Wherever I may roam
- Statut : Hors ligne
Hello,
Merci à vous deux pour votre rapide retour.
Il s’agit d’un sort pour le kit de mon personnage, Enchevêtrement de ronce de vénom:
Aux premiers niveaux cela fonctionne de manière similaire à enchevêtrement, sur une seule personne, et inflige 1 point de dégât pendant 6 secondes, toutes les 2 secondes.
J’ai fusionné les projectiles cône de froid et chaîne d’éclair afin que le sort envoi le même enchevêtrement sur tout les ennemis présents dans l’angle de projection défini.
À haut niveau je veux que le champs d’application du sort soit beaucoup plus large et reprenne la même zone que le sort enchevêtrement.
Tout les projectiles sont créés, uniquement le header a modifier en fonction du niveau me pose problème, j'ai créé plusieurs sorts en attendant.
Merci à vous deux pour votre rapide retour.
Il s’agit d’un sort pour le kit de mon personnage, Enchevêtrement de ronce de vénom:
Aux premiers niveaux cela fonctionne de manière similaire à enchevêtrement, sur une seule personne, et inflige 1 point de dégât pendant 6 secondes, toutes les 2 secondes.
J’ai fusionné les projectiles cône de froid et chaîne d’éclair afin que le sort envoi le même enchevêtrement sur tout les ennemis présents dans l’angle de projection défini.
À haut niveau je veux que le champs d’application du sort soit beaucoup plus large et reprenne la même zone que le sort enchevêtrement.
Tout les projectiles sont créés, uniquement le header a modifier en fonction du niveau me pose problème, j'ai créé plusieurs sorts en attendant.
Modifié en dernier par Faust le sam. 20 sept. 2025, 14:24, modifié 3 fois.
Qui est en ligne
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 3 invités