Page 1 sur 1

Patcher une double protection sur 2 sorts.

Posté : mer. 01 janv. 2025, 08:52
par deratiseur
J'ai crée 2 sorts (mineur et majeur), et je voudrais qu'ils soient exclusifs et non cumulables (que chacun des 2 sorts protège contre lui même et l'autre)

Si j'écris :

Code : Tout sélectionner

ADD_SPELL ~Derats_Magasin_2/Sorts/pxl2memo.spl~ 2 6 WIZARD_PX_DEORIE_MINOR_MEMORISATION	SPRINT current_spell_res "%DEST_RES%"	SAY NAME1 @60613	SAY UNIDENTIFIED_DESC @60614
READ_LONG 0x64 abilities_off
	READ_SHORT 0x68 num_abilities
	FOR (i = 0; i < num_abilities; i += 1) BEGIN
	LPF ADD_SPELL_EFFECT INT_VAR opcode = 206 target = 1 timing = 0 duration = 4800 STR_VAR resource  = EVAL ~%DEST_RES%~ END
	END
	
COPY ~Derats_Magasin_2/Sorts/pxl2mem2.spl~ 					~override~
READ_LONG 0x64 abilities_off
	READ_SHORT 0x68 num_abilities
	FOR (i = 0; i < num_abilities; i += 1) BEGIN
	LPF ADD_SPELL_EFFECT INT_VAR opcode = 206 target = 1 timing = 0 duration = 4800 STR_VAR resource  = EVAL ~%DEST_RES%~ END
	END
	
J'installe le premier sort et j'ajoute la protection contre ce sort à pxl2memo (lui même) et pxl2mem2 (le deuxième sort). Première étape.

Ensuite pour le deuxième sorts, si j'écris :

Code : Tout sélectionner

//Mémorisation majeure selon Déorie
ADD_SPELL ~Override/pxl2mem2.spl~ 2 7 WIZARD_PX_DEORIE_MAJOR_MEMORISATION	SPRINT current_spell_res "%DEST_RES%"	SAY NAME1 @60733	SAY UNIDENTIFIED_DESC @60734
READ_LONG 0x64 abilities_off
	READ_SHORT 0x68 num_abilities
	FOR (i = 0; i < num_abilities; i += 1) BEGIN
	LPF ADD_SPELL_EFFECT INT_VAR opcode = 206 target = 1 timing = 0 duration = 4800 STR_VAR resource  = EVAL ~%DEST_RES%~ END
	END
J'installe le deuxième sort et j'ajoute la protection contre lui même (il a déjà la protection contre le premier sort). Mais c'est là que ça coince. Comment je retrouve le premier sort (qui peut avoir n'importe quelle référence spwixxx) pour lui ajouter la protection contre le 2ème sort ?

Re: Patcher une double protection sur 2 sorts.

Posté : mar. 14 janv. 2025, 16:53
par deratiseur
Ok, j'ai trouvé. Encore une fois grâce à une solution donnée par Selphira (pour une autre truc et réutilisé). merci :)