Unsummon Associate ?

Répondre
Partager Rechercher
Voila, dans un script, j'aimerais forcer (après avoir eu l'autorisation dans un dialogue ) un PJ à révoquer son familier/créature invoquée/compagnon animal, mais je ne vois pas comment faire ...

RemoveSummonedAssociate() ne fait pas vraiment ça (Removes oAssociate from the service of oMaster, returning them to their original faction).

Il y a les constantes ASSOCIATE_COMMAND_UNSUMMONANIMALCOMPANION, ASSOCIATE_COMMAND_UNSUMMONFAMILIAR et ASSOCIATE_COMMAND_UNSUMMONSUMMONED mais elles semblent ne servir que pour GetLastAssociateCommand(object), y'a pas de SetAssociateCommand ...

Il n'y a pas d'effet genre EffectUnsummonCreature() ...

Et je n'aime pas utiliser EffectDeath() car ça fait l'animation de mort et pis en plus le PJ qui perd sa bestiole entre en mode combat (il ne peut pas faire de repos pendant quelques secondes) ...

Est-ce que vous auriez une solution ? Est-ce que je vais être obligé de demander à mon PJ de révoquer manuellement, et de tester dans le OnHeartBeat si GetAssociate() renvoie OBJECT_INVALID ?
Arrow
Pour ceux que ça intéresse :
Code PHP:

// Revoque toutes les creatures invoquees par oMaster.
void UnsummonAllAssociates(object oMaster=OBJECT_SELF);

void UnsummonAllAssociates(object oMaster=OBJECT_SELF)
{
    if (!
GetIsObjectValid(oMaster))
        return;
    
effect eUnsummon EffectVisualEffect(VFX_IMP_UNSUMMON);
    
object oAni GetAssociate(ASSOCIATE_TYPE_ANIMALCOMPANIONoMaster);
    
object oFam GetAssociate(ASSOCIATE_TYPE_FAMILIARoMaster);
    
object oSum GetAssociate(ASSOCIATE_TYPE_SUMMONEDoMaster);
    
ApplyEffectToObject(DURATION_TYPE_INSTANTeUnsummonoAni);
    
ApplyEffectToObject(DURATION_TYPE_INSTANTeUnsummonoFam);
    
ApplyEffectToObject(DURATION_TYPE_INSTANTeUnsummonoSum);
    
DestroyObject(oAni1.0);
    
DestroyObject(oFam1.0);
    
DestroyObject(oSum1.0);

Répondre

Connectés sur ce fil

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