Arena Mod:Référence technique

De UESPWiki
Le but de ce matériel de référence est d'appuyer les informations figurant sur l'UESP. La modification du fichier de jeu pourrait avoir des conséquences inattendues pour votre jeu et pourrait potentiellement présenter un risque pour les autres fichiers de votre ordinateur.

Exécutable du jeu

Bases de l'éditeur HEX

Lorsque vous ouvrez un fichier dans un éditeur HEX, trois fenêtres vous sont souvent présentées. Une fenêtre apparaît comme un éditeur TEXTE de base. Une deuxième fenêtre montre le code de niveau inférieur présenté au format hexadécimal. Celui-ci est souvent organisé en sections de huit caractères chacune, tandis que certains éditeurs affichent des groupes de deux ou quatre caractères. Une troisième fenêtre affiche l'emplacement du premier octet (deux caractères) dans la fenêtre hexadécimale qui est également le premier caractère dans la fenêtre de texte. Ce marqueur d'emplacement est souvent affiché au format hexadécimal. En ouvrant le fichier A.EXE décompressé dans un éditeur hexadécimal à fenêtre très étroite, vous pouvez obtenir ce qui suit :

00000 | 4D5A2001 7202440F | "MZ r D"

Le premier caractère de la fenêtre de texte est "M". C'est une représentation du premier octet de la fenêtre hexadécimale "4D" et il est situé à "00000" Le septième caractère de la fenêtre de texte est "D". Il s'agit d'une représentation du septième octet dans la fenêtre hexadécimale "44" et il se trouve à l'emplacement "00006". Si vous entrez "Hex to Ascii" dans votre moteur de recherche, vous pouvez trouver un convertisseur pour entrer "44" qui peut être converti en ASCII (texte) comme "D". Il convient de noter que ce qui est présenté dans la fenêtre de texte dépend de la police utilisée et que certains des octets hexadécimaux ne représenteront aucun caractère de texte. Le premier exemple comprend quatre espaces ; toutefois, seul le premier espace était un caractère de texte ASCII original. Les trois autres ont été convertis en espaces standard pour l'exemple.

Bien que les caractères hexadécimaux puissent représenter du texte, il s'agit en fait de chiffres. Le système décimal est basé sur dix caractères. (0,1,2,3,4,5,6,7,8,9) Le système hexadécimal est basé sur seize caractères. (0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F) Une valeur supérieure à neuf est représentée dans le système décimal en combinant "1" et "0" pour obtenir "10", tandis que l'incrémentation d'un nombre supérieur à neuf dans le système hexadécimal est représentée par le caractère "A". Le chiffre quinze est représenté par "F" et l'incrémentation d'un chiffre de plus jusqu'à seize est représentée par la combinaison comme dans le système décimal. Le chiffre hexadécimal "10" représente seize. Ceci est important pour la compréhension des lieux, car vous devrez souvent compter, mais vous devez vous souvenir de compter en hexadécimal. Les valeurs hexadécimales sont souvent indiquées avec le préfixe dièse ou 0x, comme #4D ou 0x4D, et peuvent être indiquées avec des lettres minuscules comme dans 0x4d. La liste de l'emplacement de l'octet pour le caractère "D" était l'emplacement "00006". Une référence d'emplacement est parfois appelée un décalage. Les décalages sont parfois répertoriés avec un préfixe supplémentaire "@" tel que @06 ou @0x06 et tous les 0 précédents peuvent être omis. Un emplacement "00FD8" dans l'éditeur hexadécimal peut être répertorié sous la forme @fd8.

Bytes, Words, et Dwords

En général, le code hexadécimal est organisé en sections de huit caractères. Dans l'exemple précédent, la première section était "4D5A2001".

  • Un BYTE est constitué de deux caractères. La première section contient donc quatre octets (4D, 5A, 20, 01). Les octets peuvent être convertis à l'aide d'un convertisseur hexa vers ascii, (M, Z, (espace), (non caractère)), ou à l'aide d'un convertisseur hexa vers décimal (77, 90, 32, 1). Ne convertissez qu'un octet à la fois. Tout comme la combinaison des décimales "10" et "10" n'est plus deux dizaines, mais 1 010, la combinaison de "4D" et "5A" n'est plus 77 et 90, mais 19,802.
  • Un WORD est constitué de deux octets ou de quatre caractères. L'exemple contient deux mots. (4D5A, 2001). Vous pouvez convertir les mots à l'aide d'un convertisseur hexadécimal, mais vous devez entrer les octets de droite à gauche. Le premier mot "4D5A" est entré dans le convertisseur hexadécimal sous la forme "5A4D" et est converti en 23,117. Le deuxième mot "2001" est entré dans le convertisseur hexagonal sous la forme "0120" et est converti en 288.
  • Un DWORD est constitué de deux "mots" (littéralement double-mot), de quatre octets ou de huit caractères. L'exemple est un mot-clé simple (4D5A2001). Les mots-dièse peuvent être convertis à l'aide d'un convertisseur hexadécimal, mais comme pour les mots, vous devez saisir les octets de droite à gauche. Le mot-dièse "4D5A2001" est saisi sous la forme "01205A4D" et converti en 18,897,485.

Lorsque vous utilisez des convertisseurs, saisissez les valeurs sans ponctuation telle que les virgules ou les parenthèses.

Diviseur 2.56

Souvent, après avoir converti un octet hexadécimal en valeur décimale, vous devez diviser la valeur décimale par 2,56 pour obtenir la valeur voulue. Ceci est principalement utilisé dans les valeurs pour les statistiques. Il est utilisé pour prendre la gamme complète des valeurs possibles dans un seul octet (0x00..0xFF / 0-255) et le convertir en une gamme de 0..100. Dans certains endroits du code où ces valeurs ont été saisies à la main, comme les statistiques de monstre, vous trouverez un mélange entre le calcul utilisant 2,55 et 2,56. Cependant, dans le cas de ces entrées, les valeurs internes s'arrondissent aux mêmes nombres entiers.

Ordre de tri

Les valeurs dans le code seront souvent stockées dans un tableau avec des ordres de tri spécifiques. Par exemple, le nombre de points de vie pour chaque classe est stocké l'un après l'autre mais trié par ordre de classe : Mage, Magelame, etc. Les valeurs des statistiques de base sont d'abord triées par race, puis par sexe, et enfin par ordre de statistiques. Les huit premières valeurs sont les stats d'un homme Bréton. Le deuxième ensemble de huit valeurs est celui d'une femme Brétonne. Le troisième ensemble est pour un homme Rougegarde. L'emplacement du décalage n'indique que le premier octet du tableau. Le décalage pour les statistiques de caractères est 0x39CF3, qui est l'emplacement du premier octet du tableau représentant la statistique de force pour un homme Bréton.

  • CLASSE:
    • Mage, Magelame, Mage de guerre, Sorcier, Guérisseur, Lamenoire, Barde, Cambrioleur, Vagabond, Acrobate, Voleur, Assassin, Moine, Archer, Ranger, Barbare, Guerrier, Chevalier
  • RACE:
    • Brétons, Rougegardes, Nordiques, Elfes noirs, Haut elfes, Elfes des bois, Khajiit, Argoniens
  • GENRE:
    • Homme, Femme
  • STAT:
    • FOR, INT, RÉS, AGI, VIT, END, PER, CHA
  • MONSTRE:
    • Rat, Gobelin, Homme lézard, Loup, Loup des neiges, Orque, Squelette, Minotaure, Araignée, Goule, Limier infernal, Fantôme, Zombie, Troll, Apparition, Homonculus, Golem de givre, Golem de pierre, Golem de fer, Démon de feu, Méduse, Vampire, Liche
  • TYPE DE BUTIN DU MONSTRE:
    • Or, Objet magique ou potion, Arme et armure standard, Arme et armure magique

Code du jeu

Description Décalage Structure de données Trier par ordre/valeur
Modificateur de santé initial 0x1655B BYTE +(25)
Or initial (min) 0x165B2 BYTE min(50)
Or initial (max) 0x165B5 BYTE max(200)
Dé de points de bonus initial 0x165CF BYTE d(25)
Dé de Stat initial 0x1715D BYTE d(20)
Santé initiale "si <1" 0x17191 BYTE <(1)
Santé initiale "+1" si 0 0x17196 BYTE +(1)
Diviseur de la limite de boisson (par défaut) 0x1F63D BYTE

Diviser le résultat décimal par 2,56

25

(END ÷ 9.804)

Diviseur de limite de boisson (Bréton) 0x1F642 BYTE

Diviser le résultat décimal par 2,56

12

(END ÷ 4.706)

Limite de la liste de boissons 0x1F93F BYTE 15
Limiteur de vision de Ria 0x20D40 BYTE 8
Statistiques du joueur de base 0x39CF3 BYTE (tableau)

Les 8 premiers octets sont des statistiques masculines brétonnes

Diviser le résultat décimal par 2,56

Race / Genre / Stat
Stats des monstres 0x39DBB BYTE (tableau)

Les 8 premiers octets sont les statistiques du Rat

Diviser le résultat décimal par 2,56

Monstre / Stat
Chance de butin des monstres 0x3B139 BYTE (tableau)

Les 4 premiers octets sont pour le Rat

Monstre / Type de butin
Dé de points d'impact de classe 0x42001 BYTE (tableau) Classe
Monstre sans corps 0x4204E BYTE (tableau) Monstre
Niveau de monstre 0x42096 BYTE (tableau) Monstre
Plage de points de vie des monstres (PV) 0x420DE WORD (tableau)

Le premier mot est Rat min HP

Le deuxième mot est Rat max HP

Monstre
Points d'expérience des monstres 0x4213E DWORD (tableau) Monstre
Exp/PV de monstres 0x4219E BYTE (tableau) Monstre
Plage de dégâts des monstres 0x421B6 BYTE (tableau)

Le premier octet est le dégât minimum du Rat

Le deuxième octet est le dégât maximal du Rat

Monstre
Bloc de nature sauvage (liste A) 0x42D5C BYTE (tableau)

Le premier octet représente le nombre de blocs dans la liste.

Commande numérique
Bloc de nature sauvage (Liste B) 0x42D75 BYTE (tableau)

Le premier octet représente le nombre de blocs dans la liste.

Commande numérique
Bloc de nature sauvage (Liste C) 0x42D82 BYTE (tableau)

Le premier octet représente le nombre de blocs dans la liste.

Commande numérique
Bloc de nature sauvage (Liste D) 0x42D8F BYTE (tableau)

Le premier octet représente le nombre de blocs dans la liste.

Commande numérique
Bloc de nature sauvage (Liste E) 0x42D9A BYTE (tableau)

Le premier octet représente le nombre de blocs dans la liste.

Commande numérique
Bloc de nature sauvage (Liste F)

Non utilisé

0x42DA6 BYTE (tableau)

Le premier octet représente le nombre de blocs dans la liste.

Commande numérique

Notes

  • Les informations fournies sont basiques et spécifiques à Arena et peuvent ne pas s'appliquer à d'autres régions.
  • Toutes les informations de cette page sont spécifiques à la version 1.06 mais s'appliquent également à la version 1.07, sauf indication contraire.
  • Tous les marqueurs de localisation (décalages) ont été obtenus avec A.EXE version 1.06 et décompressés avec UNP version 4.11 avec les paramètres par défaut. Les informations sont les mêmes que dans la version 1.07 mais les décalages sont différents.
  • Les modificateurs de santé initiaux aux décalages 0x17191 et 0x17196 fonctionnent ensemble pour un bonus de +1 si le modificateur de santé de votre stat END est +0 et que votre jet de dé de santé initial est également 0. Les tests montrent que si votre jet de dé de santé plus le bonus de stat END est inférieur à la valeur 0x17191, alors votre valeur de santé sera la valeur située à 0x17196 + 25. Une exception inattendue se produit si le scénario présente les mêmes valeurs mais que le bonus END est de -1. Si le dé de santé et le bonus END sont égaux à -1, le scénario reste inchangé et votre santé initiale finale sera de 24. La probabilité que cela se produise est très faible, mais c'est possible.
  • L'octet Limiteur de vision de Ria contrôle quand il faut arrêter de montrer les visions. Il est réglé sur 08 et si le joueur possède les 8 pièces du bâton dans son inventaire, alors aucune vision de Ria Silmane ne sera affichée. Si une nouvelle partie est modifiée pour que le joueur commence avec 8 pièces du bâton dans son inventaire, et que l'octet de limitation est changé en 09, la dernière vision de Ria sera affichée lorsqu'il dormira après avoir atteint le niveau 2.
    • Dans la version 1.07, l'octet est situé à 0x22BEC.
  • Lors de la sauvegarde d'une partie, les cartes des donjons sont floues ou déformées lors du rechargement de la sauvegarde. Cela est apparemment dû au fait que le jeu déballe la carte dans un ordre différent de la méthode utilisée pour la stocker. Il est possible de modifier le jeu pour que cela ne se produise pas. Pour la version 1.06, à partir de le décalage 0x2674C, les quatorze octets (8A DC 83 E3 03 64 8A 87 F6 45 AA C0 EC 02) doivent être remplacés par (C0 C4 02 8A DC 83 E3 03 64 8A 87 F6 45 AA). Pour 1.07, à partir du décalage 0x281E9, les quatorze octets (8A DC 83 E3 03 64 8A 87 30 47 AA C0 EC 02) doivent être remplacés par (C0 C4 02 8A DC 83 E3 03 64 8A 87 30 47 AA).
  • La liste des boissons se trouve à 0x4153E et contient 21 boissons, bien que la limite d'étendue de la liste des boissons soit définie pour n'utiliser que les 15 premières. (Le prix des boissons est un tableau de BYTE commençant à 0x41614).

LOG.0x

Ce fichier est créé dans le cadre d'une sauvegarde de jeu. Le "x" dans l'extension du fichier représente le numéro attribué à l'emplacement de jeu que vous avez choisi, la case du haut étant 0 et celle du bas étant 9.

Dans la version 1.07, ce fichier contient toutes les quêtes que vous acceptez au cours de votre partie. Pour les versions précédentes, le fichier a une limite afin de conserver l'espace disque. Lorsque le fichier devient supérieur ou égal à deux mille octets, le jeu supprime la plus ancienne entrée lorsqu'il en ajoute une nouvelle. Ainsi, le fichier contient approximativement les dix à seize dernières quêtes, en fonction de la quantité de texte contenue dans chacune d'elles.

Chaque entrée commence par le symbole "&" et se termine par " *". L'espace avant l'astérisque est important car sans lui, le caractère précédent n'apparaîtra pas dans le journal. Le texte qui suit immédiatement l'esperluette (&) est la date de jeu à laquelle la quête a été acceptée et sera affiché comme un titre et surligné en rouge. Ce titre se termine par deux octets représentés en hexadécimal par 0D et 0A. L'octet 0A est utilisé pour commencer une nouvelle ligne et est utilisé dans le reste du texte car le journal de bord n'enroule pas automatiquement le texte si une phrase est trop longue. Sans l'octet 0A, le texte finira par revenir sur le côté gauche de l'écran et commencera à s'écrire sur la même ligne, ce qui peut entraîner le blocage du jeu après l'ouverture du fichier.

SAVEENGN.0x

Ce fichier est créé dans le cadre d'une sauvegarde de jeu. Le "x" dans l'extension du fichier représente le numéro attribué à l'emplacement de jeu que vous avez choisi, la case du haut étant 0 et celle du bas étant 9.

Cryptage

Certaines sections de ce fichier sont cryptées et doivent être converties avant d'être utilisées. Bien qu'une seule formule soit utilisée pour crypter l'ensemble de la section, il est parfois possible de simplifier les choses en comprenant que chaque octet d'une zone cryptée possède sa propre clé de cryptage. Un octet est constitué de deux caractères tels que 9D et chaque caractère est appelé un NIBBLE. Si c'était le niveau d'un joueur, vous pourriez utiliser la clé pour déterminer que le chiffre 9 de gauche est décomposé en 1 et que le chiffre D de droite est décomposé en A. Si vous entrez 1A dans un convertisseur hexadécimal, vous constaterez que le niveau du joueur est vingt-six.

Niveau

Décalage Structure de données Trier par ordre/valeur
0x06 BYTE(crypté) {1..256}

Le plus petit montant qu'un joueur peut avoir est représenté par la valeur hexagonale 87. Un est ajouté à cette valeur, ce qui fait que le niveau le plus bas est "1" au lieu de "0". Cette valeur peut être modifiée en 78, ce qui fait que le joueur est au niveau 256 au début de la partie. Cependant, cela ne se produit pas naturellement et sera ajusté lors du prochain gain d'expérience. De même, le passage du niveau 27 au niveau 28 requiert la quantité standard d'expérience ; cependant, cela ne fonctionne plus comme prévu et la valeur sera différente de 28.

Le tableau suivant présente les valeurs de cryptage de l'octet utilisé pour le niveau du joueur.

Décalage NIBBLE Valeurs
Déchiffré 0 1 2 3 4 5 6 7 8 9 A B C D E F
0x06 Gauche 8 9 A B C D E F 0 1 2 3 4 5 6 7
Droite 7 6 5 4 3 2 1 0 F E D C B A 9 8

Expérience

Décalage Structure de données Trier par ordre/valeur
0x0409 DWORD(crypté) {0..4294967295}

La plus petite quantité qu'un joueur peut avoir est représentée par 2952A448 et la plus grande par D6AD5BB7. Si cette valeur est augmentée, la prochaine fois que vous gagnerez de l'expérience dans le jeu, le niveau de votre personnage sera porté au niveau correspondant à cette expérience. Vous recevrez également les trois à six points de bonus standard, mais multipliés par le nombre de niveaux que vous avez augmentés. (Voir la section Niveau pour les exceptions).

Le tableau suivant montre les valeurs de cryptage pour chaque octet du dword utilisé pour l'expérience du joueur.

Décalage NIBBLE Valeurs
Déchiffré 0 1 2 3 4 5 6 7 8 9 A B C D E F
0x0409 Gauche 2 3 0 1 6 7 4 5 A B 8 9 E F C D
Droite 9 8 B A D C F E 1 0 3 2 5 4 7 6
0x040A Gauche 5 4 7 6 1 0 3 2 D C F E 9 8 B A
Droite 2 3 0 1 6 7 4 5 A B 8 9 E F C D
0x040B Gauche A B 8 9 E F C D 2 3 0 1 6 7 4 5
Droite 4 5 6 7 0 1 2 3 C D E F 8 9 A B
0x040C Gauche 4 5 6 7 0 1 2 3 C D E F 8 9 A B
Droite 8 9 A B C D E F 0 1 2 3 4 5 6 7

Or en stock

Décalage Structure de données Trier par ordre/valeur
0x041E DWORD(crypté) {0..4294967295}

Le plus petit montant qu'un joueur peut avoir est représenté par 18305EB8 et le plus grand par E7CFA147. La valeur hexagonale 18FAC483 donne au joueur un million de pièces d'or et si l'on change l'octet 0x41F en CC, on obtient environ soixante-cinq mille pièces d'or. Si vous avez la quantité maximale de pièces d'or, la prochaine quantité gagnée entraînera un renversement de la valeur et vous perdrez la quantité précédente.

Le tableau suivant indique les valeurs de cryptage pour chaque octet du dword utilisé pour les pièces d'or.

Décalage NIBBLE Valeurs
Déchiffré 0 1 2 3 4 5 6 7 8 9 A B C D E F
0x041E Gauche 1 0 3 2 5 4 7 6 9 8 B A D C F E
Droite 8 9 A B C D E F 0 1 2 3 4 5 6 7
0x041F Gauche 3 2 1 0 7 6 5 4 B A 9 8 F E D C
Droite 0 1 2 3 4 5 6 7 8 9 A B C D E F
0x0420 Gauche 5 4 7 6 1 0 3 2 D C F E 9 8 B A
Droite E F C D A B 8 9 6 7 4 5 2 3 0 1
0x0421 Gauche B A 9 8 F E D C 3 2 1 0 7 6 5 4
Droite 8 9 A B C D E F 0 1 2 3 4 5 6 7

Bénédiction

Décalage Structure de données Trier par ordre/valeur
0x0422 WORD(crypté)

Diviser le résultat décimal par 2,56

{0..25600}

Pratique ver. 1.06 {0..1953}

Pratique ver. 1.07 {0..781}

Il y a une limite maximale de 9999 pour les dons dans un temple, donc seule une petite partie de la gamme complète de valeurs est utilisée. Le demi-tarif pour les bénédictions pendant la Fête de mi-l'an ne fonctionne pas dans la version 1.07, ce qui réduit l'éventail des valeurs utilisables.

Le tableau suivant indique les valeurs de cryptage pour chaque octet du word utilisé pour les bénédictions.

Décalage NIBBLE Valeurs
Déchiffré 0 1 2 3 4 5 6 7 8 9 A B C D E F
0x0422 Gauche 6 7 4 5 2 3 0 1 E F C D A B 8 9
Droite 8 9 A B C D E F 0 1 2 3 4 5 6 7
0x0423 Gauche C D E F (les autres valeurs ne sont pas possibles dans le jeu)
Droite 0 1 2 3 4 5 6 7 8 9 A B C D E F

Balises de la quête principale

Elles se trouvent dans la section chiffrée, mais comme la plupart d'entre elles sont simplement des indicateurs de marche/arrêt, il n'est pas nécessaire de les convertir. Le tableau suivant montre comment les valeurs changent après des actions spécifiques. Les valeurs en gras indiquent un changement par rapport à l'étape précédente.

ÉTAPE# 0 1 2 3 4 5 6 0
Décalage Nouveau 1ère vision Sortie du donjon Parlez au donneur de quête (refusez) Parlez au donneur de quête (acceptez) Ramasser l'objet de quête Donner l'objet au donneur de quête Récupérer la première pièce du Bâton
0x0DD2 E8 E9 E9 E9 E9 E9 E9 E8
0x0DD3 C0 C0 C0 C0 C0 C0 C0 C1
0x0DD4 60 60 60 60 61 61 61 60
0x0DD5 80 80 80 80 81 81 81 80
0x0DD6 80 81 81 81 81 81 81 80
0x0DD7 00 00 00 01 01 00 01 00
0x0DD8 00 00 00 00 01 01 01 00
0x0DD9 01 01 01 01 01 00 00 01
0x0DDA 03 03 02 02 02 02 02 03
0x0DDB 07 07 07 07 07 06 07 07
  • 0x0DD2 - "E8" permet de déclencher une vision de Ria pendant le repos. La vision qui s'affiche dépend de la valeur 0x0DD3. Le donneur de quête ne proposera pas de quête tant que cet indicateur n'aura pas la valeur "E9".
  • 0x0DD3 - La valeur à cet endroit représente le nombre de pièces de bâton dans une plage {C0..C8}. Elle contrôle le nombre de pièces de bâton listées dans l'inventaire, quelle vision est affichée (rencontres "ennemies" de Ria et Jagar), le lieu de la quête principale dans le dialogue "Où est" d'un PNJ, et quelle scène de mort est affichée (Ria ou Jagar). Si cette valeur est changée en {C1..C7} avant de commencer une partie, après avoir atteint le niveau deux, le repos donnera lieu à deux visions. La première est une introduction au Bâton du Chaos et la seconde est un message indiquant l'emplacement du prochain morceau de bâton, en fonction de la valeur entrée. Si cette valeur est changée en C8, aucune vision de Ria ne se produit.
  • 0x0DD4 - Lorsque cette valeur est "61", les PNJ ne proposent pas l'option du lieu de la quête principale dans le dialogue "Où est".
  • 0x0DDA - Si vous quittez le donjon avant d'avoir reçu une vision de Ria, la valeur restera "03", jusqu'à ce que vous sortiez d'un autre intérieur tel qu'un donjon ou une taverne.
  • 0x0DDB - Lorsque cette valeur est "06", l'objet de quête initial (par exemple, un parchemin) est affiché dans votre inventaire. L'objet spécifique affiché dépend de la valeur 0x0DD3. Les noms des objets proviennent d'une liste contenue dans le fichier exécutable à 0x44008.

Les emplacements des donjons ne sont ajoutés à la carte continentale que lors d'une conversation avec un donneur de quête et ne sont pas contenus dans ce fichier.


Les informations figurant sous cet avis sont copiées de la FAQ non-officielle de 1994. Ces informations doivent être testées, mises à jour, puis incorporées au-dessus de cet avis jusqu'à ce qu'elles soient entièrement intégrées.

Comment rendre les sorts plus puissants et moins coûteux ?

Il est beaucoup plus facile d'éditer les sorts, puisqu'ils sont conservés dans un hex clair. Utilisez le créateur de sorts pour créer un sort qui fait 1-1 pts de dégâts, +1-1/niveau, puis regardez le sort dans le fichier SPELLS.xx (où xx est le numéro de la sauvegarde), et changez-le en 99-99, + 99-99/niveau, etc, etc. [voir 17 ci-dessous pour plus de détails].

Vous pouvez également modifier le % de chance, ainsi que la durée, etc..... Vous trouverez également quelques nouveaux effets de sorts ici, qui n'ont probablement jamais été implémentés, CAGE et DEATH SPELL. Tenter de les utiliser donne généralement des résultats peu harmonieux... [Conseil - Ne les essayez pas].

Le texte suivant est extrait d'un livre de sorts pour démontrer la méthode utilisée pour modifier la valeur d'un sort acheté. [Chaque ligne ci-dessous commence par son décalage par rapport au début du fichier (en hex), puis les 16 octets hex, suivis à droite des équivalents ASCII]. Les valeurs à modifier précèdent toutes le nom du sort. Les sorts multiples se succèdent et suivent le même schéma.

 
                           PCTools DiskEdit
                              Version 9.0

     +0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +A +B +C +D +E +F   0   4   8   C        
 000 63 00 63 00 63 00 01 00 01 00 63 00 00 00 00 00   c.c.c...c.....    
     ^^    ^^    ^^    **    **    **
 010 01 00 00 00 00 00 01 00 1E 00 01 00 01 00 00 00   ...........    
                             &&    &&    &&
 020 00 00 00 00 00 00 05 00 00 14 0F 0C 00 00 01 00   .............    
 030 00 FF 01 00 72 65 67 65 6E 2F 69 6E 76 2F 68 65   ...regen/inv/he    
           ++ ++
 040 61 6C 00 00 00 00 00 00 00 00 00 00 00 00 00 00   al..............    
 050 00 00 00 00 00                                    .....               

Corrections des sorts..... Vous devez utiliser un éditeur hexadécimal. Par exemple, DiskEdit de Central Point's PCTools et Norton/Symantec's Norton Utilities.

Le 63 sur chaque ^^ dans la première ligne ci-dessus change les 01 points originaux en 99 points.

Lorsque le sort a une formulation telle que 1 à 1 points, comme le fait soin, le 63 sur le ** de la première ligne le change en 99 à 99 points.

Les valeurs au-dessus des &&s représentent le nombre de tours entre les répétitions. 1E est équivalent à 30 tours. Modifiez comme vous le souhaitez.

Le 01 00 au-dessus du ++ change le coût du sort à 0 point de sort.

Ce modèle utilisant 85 octets se répète pour chaque sort dans un livre de sorts.

32 sorts peuvent être ajoutés au livre de sorts, ce qui nécessite 2720 octets, soit la taille du fichier SPELLS.xx, où xx est une valeur comprise entre 00 et 09, et dépend de la position du personnage sauvegardé dans la liste des parties sauvegardées.