Patch automatique d'un sort pour le dériver en plusieurs niveauxNous devons cette astuce à notre ami Zranoff, qui maitrise parfaitement le weidu.Elle permet de dériver un sort à temps fixe en un sort à temps incrémenté
Par exemple, transformer un sort "durée : 2 tours" en un sort "Durée : 2 rounds par niveau"
Pour cela, il vous faut avoir le sort, avec un niveau de base et le temps qui correspond pour les effets.
par exemple si vous voulez un sort de niveau 4 qui fait "2 rounds par niveau", il vous faut au départ un sort avec comme niveau unique 7 (niveau a partir duquel on peut connaitre le sort) et tous les effets à durée unique 84 (7x6x2). Sauvegardez ce sort.
Installez le avec le code suivant :
COPY ~VotreSort.spl~ ~override~ (classique)
SET max_level =
20 // niveau auquel le sort est au maximum
SET inc_level =
1 // tous les n de niveaux le sort est renforcé
SET inc_duree =
12 // chaque niveau augmente de n la duree (ici, 2 rounds, donc 12 secondes)
READ_LONG 0x64 abilities_off
READ_SHORT 0x68 num_abilities
READ_SHORT 0x82 niv_min
READ_SHORT 0x90 nb_feat
SET c=0
FOR (i = niv_min+inc_level; i < max_level+1; i += inc_level) BEGIN
SET c=c+1
READ_ASCII 0x72 ability (0x28)
INSERT_BYTES (0x72+c*0x28) 0x28
WRITE_ASCIIE (0x72+c*0x28) ~%ability%~
WRITE_SHORT (0x72+c*0x28+0x10) i
END
WRITE_SHORT 0x68 num_abilities+c
WRITE_LONG 0x6a 0x72+(c+1)*0x28
SET d=0
SET h=nb_feat*0x30
FOR (i = niv_min+inc_level; i < max_level+1; i += inc_level) BEGIN
SET d=d+1
READ_ASCII 0x72+(c+1)*0x28+(d - 1)*h features (h)
INSERT_BYTES (0x72+(c+1)*0x28+d*h) h
WRITE_ASCIIE (0x72+(c+1)*0x28+d*h) ~%features%~
FOR (z=0;z
READ_LONG (0x72+(c+1)*0x28+(d - 1)*h+0x30*z+0x0e) duree_min
PATCH_IF(duree_min>
3)THEN BEGIN // ne patche pas les effets dont la durée est inférieure à 4
WRITE_LONG (0x72+(c+1)*0x28+d*h+0x30*z+0x0e) duree_min+inc_duree
END
END
WRITE_SHORT (0x72+ZF_d*0x28+0x20) ZF_d*ZF_nb_feat
END
La ligne
PATCH_IF(duree_min>
3)THEN BEGIN
sert à éviter de patcher les effets à durée limité, comme les "play bams", "play sound" et les effets à durée permanente comme "display text"
Charger votre sort -> voilà, il a été dérivé en plusieurs niveau jusqu'à 20. magique
Pensez à le sauvegardez
((Hyper pratique si comme moi vous avez crée un sorts qui à 10 textes à énoncer et 18 niveaux (180 points de patching à l'installation !!!) : Ne patchez qu'un niveau et créez les 17 autres
))