Bienvenue sur JeuxOnLine - MMO, MMORPG et MOBA !
Les sites de JeuxOnLine...
 

Panneau de contrôle

Recherche | Retour aux forums

JOL Archives

Editer la Magie d'Arcanum

Par Lews Therin le 29/3/2002 à 12:03:19 (#1194189)

Editer la Magie sous Arcanum

Bon, je n'ai que quelques temps à passer sur ce forum avant de devoir me réendormir, à cause de l'arrivée imminente de ma période de stage...

Je vous livre donc ceci, en espérant que la communauté Arcanum de ce forums en fera quelque chose...


:aide: Editer la Magie sous Arcanum :aide:


1. Les fichiers qui seront nécessaires. :lit:

De Arcanum3.dat:
mes\spell.mes
rules\spellList.mes
rules\spellEyecandy.mes
rules\effect.mes
rules\monster.txt
rules\unique.txt
rules\npc.txt

De Arcanum2.dat:
sound\snd_spell.mes

De Arcanum1.dat:
art\eye_candy.mes (pour référence)


2. Bon, ok, j'ai tout ça, j'en fait quoi. :doute:

Vous les copiez dans le répertoire data d'Arcanum.
arcanum\data\mes\spell.mes, etc...
Attention, la casse est importante.


3. Et maintenant ? :eureka:

Et maintenant, on va commencer l'édition.

Commençons par le plus dur: SpellList.mes


Prenons le premier sort: Disarm du college Conveyance, c'est à dire Désarmer.

// 00 -- Disarm
{1000}{AoE: Tgt_None, [Begin]AoE: Tgt_Obj_T_Critter | Tgt_Obj_No_ST_Critter_Dead | Tgt_Obj_No_Self}
{1001}{Cost: 5, Resist: (stat_dexterity @ 0), Info: aggressive}
{1004}{AI_Offensive: 1}
{1005}{[Begin], Type: Damage, DmgType: Dmg_Normal, Dmg: 0, Dmg_Flags: Weap_Dropped}
{1006}{[Begin], Type: EyeCandy, 2, Add}


Si vous avez fait des mods, la structure des fichier mes vous est familière. Retenez cependant que nous sommes ici en train de changer, non de créer. Il vous sera impossible d'ajouter des sorts en créant des lignes de message à la fin, sauf peut être pour des sorts liés à des objets.

Chaque sort dispose de 50 lignes de messages. La numérotation des lignes est importantes jusqu'à la 5eme.


Ligne 0: Quelles sont les cibles de ce sort.

Les anglophones auront compris que AoE signifie Area of Effect, soit, en français, Aire d'effet du sort.

Je n'ai pas compris le principe des AoE [Begin] et AoE [End], mais je vous suggère de vous référer à des sorts similaires pour crer votre ligne d'AoE.

Décryptons cette ligne {1000}.
{AoE: Tgt_None, [Begin]AoE: Tgt_Obj_T_Critter | Tgt_Obj_No_ST_Critter_Dead | Tgt_Obj_No_Self}

Ce sort n'a aucune cible particulière (Tgt_None)
Au départ ([Begin]), il ne peut cibler que des êtres vivants (Tgt_Obj_T_Critter), a condition qu'ils ne soient pas mort (Tgt_Obj_No_ST_Critter_Dead) et que ce ne soit pas le lanceur (Tgt_Obj_No_Self)

Ah oui, pour ceux qui ne font pas d'informatique, un | signifie ET

Les sorts Maintenus semblent devoir disposer d'une AoE [End] pour pouvoir s'annuler.

Quand aux invocs, elles sont une AoE [Callback] et [EndCallback] que j'ai pas trop pigé.


Ligne 1: Informations sur le sort.

Cette ligne permet de définir le prix du sort en Fatigue, sa sauvegarde et son type.

{1001}{Cost: 5, Resist: (stat_dexterity @ 0), Info: aggressive}

Cost: indique le cout au lancement du sort (ici, 5)

Resist: indique quel est le jet de résistance à faire. Ici, c'est un jet de Dextérité. Le @ et le chiffre suivant indique la difficulté, et je *suppose* que la stat associée est modifiée du chiffre avant le test. Ainsi, un test sur stat_dexterity @ -5 se ferait avec une dexté réduite de 5. Mais ce n'est qu'une supposition.

Info indique si le sort est offensif (aggressive) ou amical (friendly)


Dans le cas des sorts maintenus, il faut insérer la balise Maintain après Cost.
Exemple, Cost: 5, Maintain: (1 @ 10)
signifie que le sort coute 5 au lancement et consommera 1 point de Fatigue toutes les 10 secondes.


Ligne 2: Projectile

Ici, j'ai pas tout suivi. Les sorts projetant un missile (comme Fire Flash ou Stone Throw) doivent avoir une ligne 2 avec le texte Missile:0

Pour Disarm, ca donnerait {1002}{Missile: 0}


Ligne 3: Conditions de validité

Cette ligne permet de tester si le sort peut se lancer ou non.

J'en ai trouvé deux types: No_Stack et les tests sur Flag.

No_Stack: 0 signifie qu'on peut lancer ce sort plusieurs fois sur une cible
No_Stack: 1 signifie qu'on ne peut le lancer qu'une fois par cible.

Les tests sur flags sont plus cotons.

Déjà, y'en a plein de types, identifiés par un trio de caracteres.

Ici, c'est de la déduction pure et dure. Je peux donc me gourrer.

Le premier caractère est soit inexistant, soit T (Target), soit O (Object)
Le second caractère est soit S (Spell), soit C (Condition, dans le sens état de santé)
Le troisième est toujours F (Flag)

Ainsi, TCF signifie Target Condition Flag, soit Flag d'état de santé de la cible.
Ou SF signifie Spell Flag, c'est à dire un Flag de Sort générique.

On peut les utiliser avec le mot clé Disallowed (Non autorisé) et Cancels (Annuler)

Par exemple, Disallowed_TCF indique quels sont les Flags d'état que ne doit pas avoir la cible pour pouvoir être ciblé par le sort.

Ok ?

Y'a un Flag pour la majorité des sorts ayant une influence réelle sur le jeu.
Par exemple, OSF_BODY_OF_FIRE, OSF_POLYMORPHED, OSF_CHARMED...

Y'a aussi des Flags d'état qui donnent une idée de l'état de santé physique ou mental:
OCF_FLEEING (en fuite), OCF_UNDEAD, OCF_PARALYZED, OCF_BLINDED

Mais aussi des Flags importants pour déterminer les aires d'effets !
Ainsi, OCF_UNREVIVIFIABLE empeche son porteur d'etre zombifié...

La liste est longue, je vous laisse chercher vous même dans le fichier SpellList.


Maintenant que ceci est expliqué, voyons une condition sur Flag. Un bon exemple est celui des Incarnations Elementaires (ici, Incarnation de Feu)

{2153}{Disallowed_TSF: OSF_BODY_OF_AIR | OSF_BODY_OF_EARTH | OSF_BODY_OF_FIRE | OSF_BODY_OF_WATER | OSF_POLYMORPHED}

En clair: Le sort ne peut pas être lancé sur une cible qui a les Object_Spell_Flag d'un des sorts d'Incarnation ou celui de Polymorphisme actif.



Ligne 4: Ligne de l'IA.

A pas compris là... en général, prenez la ligne qui correspond a un sort similaire. Ca doit etre équivalent à une des entrées de AI_PARAMS.


Ligne 5 et au delà: Lignes d'effet.

C'est ici qu'on va déterminer l'effet de votre sort tout neuf !

La différence entre sort Maintenu et Instantané est cruciale, car un sort maintenu doit avoir des balises [End] pour en annuler les effets...

J'ai aussi vu des balises Callback qui se promenaient, je sais pas à quoi elles servent.

Tout ce que je peux dire, c'est que les sorts doivent avoir une balise [Begin], c'est obligatoire.

Ensuite, les effets [End] se font sur les cibles de l'AoE [End]. Idem pour Callback et Endcallback


Dans l'ordre, une ligne d'effet peut avoir une AoE spéciale, et DOIT avoir un Type spécifié et indiquer les paramètres correspondant.

Reprenons Disarm...

{1005}{[Begin], Type: Damage, DmgType: Dmg_Normal, Dmg: 0, Dmg_Flags: Weap_Dropped}
{1006}{[Begin], Type: EyeCandy, 2, Add}


Ici, le premier effet est de Type Damage, de type Normal (physique). La quantité de dégâts est nulle, mais elle active l'effet spécial Weap_Dropped (l'arme est jetée à terre).

Le second est effet est d'ajouter l'Eye Candy 2.


Pour la suite, je vais traduire quelques exemples, histoire de vous donner des idées...

Un petit sort a effet Maintenu, Vitalité de l'Air..

// 10 -- Vitality of Air
{1500}{AoE: Tgt_None, [Begin]AoE: Tgt_Obj_T_Critter | Tgt_Obj_No_ST_Critter_Dead, [End]AoE: Tgt_Object}

Ne peut cibler qu'un etre vivant qui n'ait pas été tué au prélable, l'effet de fin est centré sur l'objet.

{1501}{Cost: 5, Maintain: (1 @ 10), Info: friendly}

Coute 5 au lancement, 1 toute les 10 secondes et est amical

{1503}{No_Stack: 0}

Peut être lancé plusieurs fois

{1504}{AI_Defensive: (2 @ 0)}

Pas compris...

{1505}{[Begin], Type: Effect, 160, Add, Count: 4} // raises Constitution

Effet: Au lancement, la cible recoit 4 fois l'effet 160 de Effect.mes

{1506}{[Begin], Type: EyeCandy, 2, Add}

On rajoute l'eye candy...

{1507}{[End], Type: Effect, 160, Remove, Count: 4}

Lorsque l'effet se finit, on retire 4 fois l'effet 160

{1508}{[End], Type: EyeCandy, 2, Remove} // Make sure it wasn't in the process of beginning

Et l'eye candy aussi.



Suivant, un sort de Transformation, on va rester dans l'air avec Incarnation d'Air...


{1650}{AoE: Tgt_None, [Begin]AoE: Tgt_Obj_T_Critter | Tgt_Obj_No_ST_Critter_Dead, [End]AoE: Tgt_Object}

Comme d'habitude...

{1651}{Cost: 25, Maintain: (2 @ 10)}

Cout 25, 2 Fatigue toutes les 10 sec, R.A.S.

{1653}{Disallowed_TSF: OSF_BODY_OF_AIR | OSF_BODY_OF_EARTH | OSF_BODY_OF_FIRE | OSF_BODY_OF_WATER | OSF_POLYMORPHED}

J'ai expliqué tout a l'heure: on lance pas le sort si y'a deja un Body ou un Polymorph

{1654}{AI_Flee: 3, AI_Defensive: (14 @ 0)}

Toujours pas compris. Ah si, sans doute que caster un Body sur un gars le fait fuir ?

{1655}{[Begin], Type: Trait, art_num, 28, Palette: 1}

Ha, le changement de forme. Pour avoir le art_num et la palette, allez voir dans les .txt que je vous ait fait extraire, ils y sont indiqué.

{1656}{[Begin], Type: ObjFlag, obj_f_spell_flags, OSF_BODY_OF_AIR, FLAG_ON}

Quand on a lancé Body of Air, on met le flag Body of Air. Sans blagues.

{1657}{[Begin], Type: ObjFlag, obj_f_spell_flags, OSF_WATER_WALKING, FLAG_ON}

Body of Air permettrait de jouer au ptit Jesus ?

{1658}{[Begin], Type: Effect, 51, Add}

L'effet de Body of Air, a savoir une Resistance au dommage énorme et aucun degat physique

{1659}{[Begin], Type: EyeCandy, 2, Add}

L'eye candy...

{1660}{[End], Type: Trait, art_num, -1}

Là, on reprend sa forme d'origine

{1661}{[End], Type: ObjFlag, obj_f_spell_flags, OSF_BODY_OF_AIR, FLAG_OFF}
{1662}{[End], Type: ObjFlag, obj_f_spell_flags, OSF_WATER_WALKING, FLAG_OFF}
{1663}{[End], Type: Effect, 51, Remove}
{1664}{[End], Type: EyeCandy, 2, Remove}

On vire flags et effet

{1665}{[End], Type: EyeCandy, 2, Add, Play: Reverse}

Et on jout l'anim a l'envers. Et ouais.



Pour finir, une invoc, celle de l'elemental.

// 14 -- Call Air Elemental
{1700}{AoE: Tgt_None, [Begin]AoE: Tgt_Tile_Empty, [End]AoE: Tgt_Summoned, [Callback]AoE: Tgt_Summoned, [EndCallback]AoE: Tgt_Summoned}

Ok, c chaud. On vise une case vide. L'effet de fin est sur la bestiole invoquée, comme l'effet de CallBack et de fin de Callback.

{1701}{Cost: 50, Maintain: (5 @ 10)}

Ca coute 50 et 5 toutes les 10 secondes

{1704}{AI_Summon: 10}

La, j'ai pigé: l'invoc utilise l'AI 10

{1705}{[Begin], AoE: Tgt_Tile_Empty, Type: Summon, Proto: 28310}

Effet: on crée la bestiole de Proto(type) donné dans la case vide ciblée. Pour le proto, idem, faut aller voir dans monster.txt, unique.txt et npc.txt

{1706}{[Begin], Apply_AoE: Tgt_Summoned, Type: ObjFlag, obj_f_spell_flags, OSF_MIND_CONTROLLED, FLAG_ON}

Suite des trucs chaud. On cible la bestiole invoquée, et on lui colle le Flag Mind Control, pour qu'elle nous obeisse

{1707}{[Begin], Apply_AoE: Tgt_Summoned, Type: EyeCandy, 2, Add, Play: Callback}

Ah, l'eye candy

{1708}{[End], Type: EyeCandy, 2, Add, Play: Reverse | End_Callback} // Dissipating

Quand c'est fini, on colle l'eye candy a l'envers et on lance Endcallback ?

{1709}{[Callback], Type: ObjFlag, obj_f_flags, OF_DONTDRAW, FLAG_OFF}

Quand le sort est fini, je pense qu'on lance Callback, qui donne l'ordre d'arrêter de dessiner la bestiole

{1710}{[EndCallback], AoE: Tgt_Summoned, Type: Destroy, Summoned Object}

Puis la détruit purement et simplement



Voila, j'espere que ce bref tutoriel vous servira et vous donnera l'envie de modifier Arcanum pour en faire le jeu de vos rêves... Ben oui, la, j'ai expliqué comment procéder pour les sorts, mais le principe reste valide pour tout. Les cartes, les dialogues, les objets...

Voilà, je m'en vais. :asiatique:

Par Tigraou le 2/4/2002 à 12:48:09 (#1212044)

au fait comment as tu decompressé les fichiers .dat parceque moi c'est la galère mon decompresseur marche pas alors si tu poufais m'aider ça me ferait plaisir.

si ça t'interresse je peu te donner u lien vers la marche a suivre pour changer les antecedents ou les thechnologies.

Par Lews Therin le 3/4/2002 à 18:02:04 (#1220011)

J'ai utilisé le undatter officieux sous windows qu'on d/l chez Modsquad.. Je crois que c'est Arcanun le nom.

Quand aux antécédents et aux technologies, je connais déjà le lien, je m'en suis servi pour piger où poser les fichiers modifiés pour qu'ils soient pris en compte

Par Korny le 3/4/2002 à 20:22:03 (#1221073)

Au fait, t'ai-je souhaité la bienvenue, Lews Therin ? Je ne pense pas alors bienvenue et fait comme chez toi ! :D

Par Lews Therin le 3/4/2002 à 20:30:58 (#1221110)

C'est si gentiment proposé :mdr: :ange:

*s'asseoit et étend ses jambes sur la table*

*bunk*

Aie, c'était quoi ça....
:eek:
Korny, lâche de suite cette réglette, t'as pas le drooooooiiiiit :aide:

Par Korny le 3/4/2002 à 22:10:54 (#1221725)

du moment que tu ne te met pas en caleçon...

dis moi... tu est en train de preparer un mod ?

Par Lews Therin le 3/4/2002 à 22:47:11 (#1221929)

Nan, pas le temps... chuis en stage là.

C'est juste que maintenant, Aslio, Frodon, Gege (tiens, il est où lui ?) et toi pouvez faire vos Vampires rastas capables de se transformer en loups, je l'ai fait chez moi vite fait :)

Par Korny le 4/4/2002 à 12:39:07 (#1224094)

Ah ouais c'est possible ?
ET je te rapelle qu'on a abandonné le projet... quant a Gégé, il a décidé de passer un peu plus de temps dans ce jeu qu'on appelle la réalité ;)

Par Darkmore le 16/4/2002 à 0:16:23 (#1292321)

Provient du message de Korny :
Gégé, il a décidé de passer un peu plus de temps dans ce jeu qu'on appelle la réalité ;)

Je l'ai celui là!
Il est très chiant mais heureusement je l'ai bientôt finit.
:monstre:

part en courant

revient en courant
MORT AU VENT C'EST NUUUL
repart en courant

Par Darkmore le 27/4/2002 à 21:10:16 (#1358015)

5 jours et topujours aucune réaction de l part des instance modératrices !
D'accord le piège était vicieux : edité n'est pas posté comme disent les sages !
Mais tout de même un constat reste à faire :
http://www.ianai.net/jokes/forumpix/ponchomo.jpg

Par Korny le 27/4/2002 à 22:50:53 (#1358633)

haha, petit coquinou, tu avait édité ton message...

Je n'agirais pas, chacun a le droit de s'exprimer.


(Bien sûr, je plaisante, j'ai envoyé un mail à Mind pour qu'il te bannisse)

Par Torquemada le 28/4/2002 à 21:00:46 (#1365306)

:hardos: :hardos: :hardos:

Chaque fois que je reviens ici c'est toujours autant le délire !

Bon en tout cas a vus de nez, les scripts d'arcanum on l'air aussi pénible à déchiffrer que ce d'UO. :monstre:

Faut vraiment que je rssorte mes cours de Q-Basic de la naphtaline :lit:

Au fait pas de nouvelles d'un Arcanum 2 ou d'un patch multijoueur efficace ??? :eureka:

Par Aslio le 28/4/2002 à 23:26:07 (#1366330)

Tiens, des vampires rastas, c'est une bonne idée ça !!! :mdr:

Par Bleiz Tad Koal le 28/12/2002 à 1:47:31 (#2893049)

bon, à part que je suis mdr, je remonte, parce que si j'arrive à bien comprendre, et que j'en ai le courage, ça peut être bien sympa !
chapô pour le boulot.

Par Darkmore le 28/12/2002 à 18:22:15 (#2896474)

Provient du message de Bleiz Tad Koal
chapô pour le boulot.
Merci
:D

je sais chuis lourd

JOL Archives 1.0.1
@ JOL / JeuxOnLine