Salut,
Je désire donner à un personnage des effets qu'il gardera tous le temps (c'est un vampire), je met donc ce script sur le OnAcquireItem du module:
void main()
{
object oTag = GetObjectByTag("Vampirisme");
object oPC = GetItemPossessor(oTag);
object oItem = GetItemInSlot(INVENTORY_DISTURB_TYPE_ADDED, oPC);
if(oItem != OBJECT_INVALID)
{
ApplyEffectToObject(DURATION_TYPE_PERMANENT, EffectImmunity(IMMUNITY_TYPE_BLINDNESS), oPC);
}
{
ApplyEffectToObject(DURATION_TYPE_PERMANENT, EffectImmunity(IMMUNITY_TYPE_CURSED), oPC);
}
{
ApplyEffectToObject(DURATION_TYPE_PERMANENT, EffectImmunity(IMMUNITY_TYPE_DEATH), oPC);
}
{
ApplyEffectToObject(DURATION_TYPE_PERMANENT, EffectImmunity(IMMUNITY_TYPE_DISEASE), oPC);
}
{
ApplyEffectToObject(DURATION_TYPE_PERMANENT, EffectImmunity(IMMUNITY_TYPE_DOMINATE), oPC);
}
{
ApplyEffectToObject(DURATION_TYPE_PERMANENT, EffectImmunity(IMMUNITY_TYPE_FEAR), oPC);
}
{
ApplyEffectToObject(DURATION_TYPE_PERMANENT, EffectImmunity(IMMUNITY_TYPE_NEGATIVE_LEVEL), oPC);
}
{
ApplyEffectToObject(DURATION_TYPE_PERMANENT, EffectImmunity(IMMUNITY_TYPE_PARALYSIS), oPC);
}
{
ApplyEffectToObject(DURATION_TYPE_PERMANENT, EffectImmunity(IMMUNITY_TYPE_POISON), oPC);
}
{
ApplyEffectToObject(DURATION_TYPE_PERMANENT, EffectImmunity(IMMUNITY_TYPE_SLEEP), oPC);
}
{
ApplyEffectToObject(DURATION_TYPE_PERMANENT, EffectImmunity(IMMUNITY_TYPE_SNEAK_ATTACK), oPC);
}
{
ApplyEffectToObject(DURATION_TYPE_PERMANENT, EffectImmunity(IMMUNITY_TYPE_CHARM), oPC);
}
{
ApplyEffectToObject(DURATION_TYPE_PERMANENT, EffectRegenerate(10,30.0), oPC);
}
{
ApplyEffectToObject(DURATION_TYPE_PERMANENT, EffectSeeInvisible(), oPC);
}
}
Donc, l'item "Vampirisme" est donné pendant un dialogue ce qui transmet directement les effets cités dans le script au PJ mais ses effets disparaissent complètement dés le 1er repos (normal).
Quelqu'un pourrait m'indiquer la manière de conserver ces effets à vie ?