Il suffit de rajouter une boucle qui supprime les pouvoirs spéciaux déjà résidents ici :
// Début du script if(GetIdentified(oTarget)==TRUE) { if(GetItemArmorACBase(oSource)==GetItemArmorACBase(oTarget)) { // Suppression des précédents effets itemproperty îp = GetFirstItemProperty(oItem); while(GetIsItemPropertyValid(ip) { RemoveItemProperty(oItem,ip); ip = GetNextItemProperty(oItem); } // Fin de la suppression des précédents effets
int nDuration; ip = GetFirstItemProperty(oTarget); while(GetIsItemPropertyValid(ip)) { nDuration = GetItemPropertyDurationType(ip); if(nDuration==DURATION_TYPE_PERMANENT) { AddItemProperty(nDuration,ip,oSource); } ip = GetNextItemProperty(oTarget); } DestroyObject(oTarget); } } } }// Fin du script
Tu peux aussi changer le Tag et en mettre un à ta convenance, comme "VampiricArmor". Toutefois, il faudra aussi changer le Tag de l'objet en conséquence.
Egalement, tu as vu qu'il y a deux conditions à remplir avant que l'objet copie et détruise, soit l'état d'identification, et la similitude de la CA de base. Tu peux les rassembler en une condition en écrivant " if(GetIdentified(oTarget)==TRUE && GetArmorACBase(oSource)==GetArmorACBase(oTarget))". Attention toutefois à bien supprimer les accolades correspondantes qui réfèrent à la condition effacée. ("{" et "}")
Pour finir, tu as vu qu'il y a " oItem" au début du script, qui définit déjà la fonction " GetItemActivated()".
Tu peux supprimer la ligne " object oSource = GetItemActivated();" et remplacer tous les " oSource" par " oItem".
|