[Question] Comment différencier une armure de plus de 3 de CA de base des autres ?

Répondre
Partager Rechercher
Comment faire la différence entre les armures légères (CA de base =CA1, CA2 et CA3) des autres (CA de base =CA4 et plus) ?


Cela va faire un moment que j'y réfléchis et je n'entrevois pas de solution. Quelqu'un s'est-il déjà posé la question et y a trouvé une réponse même partielle ?



Merci d'avance.
Voici la piste que je suivrais :

1. GetItemACValue(oItem) pour obtenir l'AC de l'objet, bonus d'enchantements compris.

2. Soit IPSafeAddItemProperty(oItem, ItemPropertyACBonus(0), 0.0, X2_IP_ADDPROP_POLICY_REPLACE_EXISTING)

Soit RemoveItemProperty(oItem, ipLoop) en cherchant une propriété de bonus d'AC parmi les propriétés de l'objet.

Pour ôter les propriétés donnant un bonus d'AC.

3. GetItemACValue(oItem) , pour obenir l'AC de base de l'objet, puis tu ré-appliques une propriété de bonus d'AC à l'objet pour lui redonner son enchantement avec comme valeur la différence entre le premier GetItemACValue et le second.
Merci, mais vu que j'ai travaillé depuis mes débuts sur ce module et qu'au début, ben... j'étais mal organisé, mes vieux tags ne correspondent pas à grand chose et j'ai plus de 1500 objets créés...

J'ai eu une autre idée que je vais tenter:
L'apparence des armures. En passant par les nouvelles fonctions permettant de les lire
Code PHP:

IPGetNextArmorAppearanceType(objectint
et en les encadrant correctement entre le précédent et le suivant, on doit pouvoir en tirer le nombre correspondant au torse et de là savoir quelle est la valeur de la CA de base.
Du genre, si la valeur du torse est supérieure à 24, on a une CA minimum de 4. Il ne reste plus qu'à mettre ça au point et à voir si ça fonctionne
Bonne idée en effet, mais tu risques d'être ennuyé si tu intègres des haks qui jouent sur les apparences des torses. Idem si tu utilises le CEP et qu'un update modifie une des tables en cause.
Judicieuse remarque qui met en lumière des choses auxquelles je n'ai pas pensé... Pour l'instant, je n'utilise pas de hak. Mais ça m'amène une réflexion tout de même...
Ces fonctions se basent sur des .2da d'après leur description, et si le hak est bien fait, il devrait laisser les lignes de base en l'état non ?
J'avoue ne pas être familier avec tous ces machins externes et leurs possibilités de pollution.
Citation :
Provient du message de Azmathiel
Autre technique: par le poids de l'objet avec la fonction GetWeight().
Certes, elle renvoie le poids modifié s'il est réduit, mais pour moi, ça conviendrait.
Ah oui bonne idée ça, d'autant que tu peux tout de même récupérer le poids normal vu que la réduction de poids est une propriété, donc aisément identifiable sur l'objet.
Répondre

Connectés sur ce fil

 
1 connecté (0 membre et 1 invité) Afficher la liste détaillée des connectés