Page 1 sur 1

patcher les squelettes et les drows

Posté : mar. 19 févr. 2019, 16:19
par DrAzTiK
bonjour,

j''aurai besoin d'un peu d'aide pour "hamoniser" les résistances des squelettes dans BG2 et donc je voudrai faire 3 choses :
- mettre 100% de résistance à l'electricité pour les squelettes car j'ai remarqué que certains squelettes avaient une résistance à l'electricité et d'autres pas. ( je ne sais pas quel est le bon choix mais bon je vais mettre la résistance à l'électricité pour tous).
- mettre la résistance aux projectiles à 90 %
- mettre de la résistance magique.


Et dans un 2e temps, j'aimerai patcher les créatures elfes noirs pour qu'elles utilisent un avatar elfe standard car ainsi on reconnait mieux qui sont les mages/voleurs/guerriers/clercs.
Par exemple j'ai retrouvé ce code que l'on m'avait donné il y a longtemps pour les mages drows :


//mage animation for drow mages


COPY_EXISTING_REGEXP GLOB ~.*\.cre~ ~override~
PATCH_IF (SOURCE_SIZE > 0x2c8) THEN BEGIN
READ_SHORT 0x28 animation
READ_BYTE 0x273 classe
PATCH_IF (animation = 32551) AND (classe = 1) THEN BEGIN
WRITE_SHORT 0x28 25089
END
END
BUT_ONLY_IF_IT_CHANGES


J'aimerai beaucoup pouvoir avoir le même code pour les guerriers et prêtres. (male et femelle).. Pour les multiclassé guerriers/mages, j'aimerai leur donner une animation de guerrier.


merçi d'avance

Posté : mar. 19 févr. 2019, 19:54
par Freddy_Gwendo
Pour la seconde partie, c'est assez simple. établis la liste des correspondances et je pourrai te pondre un code que tu pourras enrichir au fur et à mesure de tes envies.

Pour la première partie, c'est plus compliqué. Il faut à la fois vérifier les valeurs dans le fichier cre, MAIS AUSSI les effets des objets portés : si un squelette porte un objet protégeant contre l'électricité (+50 %) et que tu lui attribues 100 % de résistance à l'électricité, le total fera 150 %, et donc une résistance négative au final. Si je me souviens bien, le max est +124. Après, on bascule dans le négatif.

Posté : mar. 19 févr. 2019, 21:52
par DrAzTiK
Ok je savais pas pour l'electricité. Mais j'ai trouvé le code pour les squelettes, il faudra que je vérifie que leur objets ne donne pas de résistance à l'electricité mais je pense pas.

Sinon pour les drows on peut commençer avec les DROW male:

si une créature posséde l'animation DROW 32551 (male), il faudrait remplacer son animation en standard elfe selon sa classe . Je pense qu'il n'a que 5 classes utilisés dans le jeux pour les elfes noirs : guerrier, prêtre, mage, multiclassé guerrier/mage et multiclassés guerrier/prêtre

- si c'est un guerrier , il faudrait lui mettre une animation de guerrier elfe standard
- si c'est un prêtre, il faudrait lui mettre une animation de prêtre elfe standard
- si c'est un mage, une animation de mage elfe standard.
- si c'est un multiclassé guerrier/mage, il faudrait lui mettre une animation de guerrier standard
- si c'est un multiclassé guerrier/prêtre, il faudrait lui mettre une animation de guerrier standard

voila voiluu.

J'avais demandé sur le forum tweak anthology de faire ce composant mais personne n'a tilté malheuresement.

Posté : mer. 20 févr. 2019, 12:20
par Freddy_Gwendo
Testé sur BG2:

Code : Tout sélectionner

OUTER_SET DrowMaleAnimID = IDS_OF_SYMBOL (animate ~DROW~)
OUTER_SET DrowFemaleAnimID = IDS_OF_SYMBOL (animate ~DROW_FEMALE~)
COPY_EXISTING_REGEXP GLOB ~.*\.cre~ ~override~
	PATCH_IF (SOURCE_SIZE > 0x2c8) BEGIN
		SPRINT sexe ""
		READ_LONG 0x28 animID
		READ_BYTE 0x273 class
		PATCH_IF (animID = DrowMaleAnimID) BEGIN
			SPRINT sexe "MALE"
		END ELSE 
			PATCH_IF (animID = DrowFemaleAnimID) BEGIN
				SPRINT sexe "FEMALE"
		END
		PATCH_IF ("%sexe%" STR_CMP "") BEGIN
			PATCH_MATCH ~%class%~ WITH
				1		BEGIN WRITE_LONG 0x28 IDS_OF_SYMBOL (animate ~MAGE_%sexe%_ELF~) END		// MAGE
				2 7 8	BEGIN WRITE_LONG 0x28 IDS_OF_SYMBOL (animate ~FIGHTER_%sexe%_ELF~) END	// FIGHTER, FIGHTER_MAGE, FIGHTER_CLERIC
				3		BEGIN WRITE_LONG 0x28 IDS_OF_SYMBOL (animate ~CLERIC_%sexe%_ELF~) END	// CLERIC
				DEFAULT
			END
		END
	END
BUT_ONLY
GORTAN3 n'est pas traité car il a pour classe Tanarri. ;)

Edit : j'utilise pour valeur la fonction IDS_OF_SYMBOL car elle est indépendante de la valeur de l'animation et s'adapte à toutes les configurations.

Posté : mer. 20 févr. 2019, 19:31
par DrAzTiK
merçi beaucoup,je vais tester ça dés que je peux ;)

Ca faisait longtemps que je voulais faire ça ^^

Posté : mer. 20 févr. 2019, 20:19
par Freddy_Gwendo
Si tu veux un truc nickel, je te conseille de vérifier les couleurs affectées aux fichiers cre. Ce serait ballot qu'un elfe noir ait la peau blanche par exemple...