Clairaudience

Répondre
Partager Rechercher
Je viens d'avoir une petite discussion avec un MD Valprofond (Musazai pour ne pas le citer) sur msn, et nous évoquions la nullité du sort de clairaudience à NWN.

Nous avons pensé à une version qui ferait ceci:

Lorsque le lanceur cible une porte, il se retrouve de l'autre côté durant 3 secondes afin de jeter un oeil sur ce qui s'y trouve (il est pétrifié, invisible suprème et Plot pour qu'il n'y ait aucune interaction avec ce qui pourrait s'y trouver).
Cet état pourrait être optimisé en faisant changer temporairement la faction du lanceur en celle de l'ennemi en vue le plus proche, mais bon....

Voici le script nw_s0_clairadvo

Code PHP:

void main()
{
    
//Declare major variables
    
effect eSpot EffectSkillIncrease(SKILL_SPOT10);
    
effect eListen EffectSkillIncrease(SKILL_LISTEN10);
    
effect eVis EffectVisualEffect(VFX_DUR_MAGICAL_SIGHT);
    
effect eDur EffectVisualEffect(VFX_DUR_CESSATE_POSITIVE);

    
effect eLink EffectLinkEffects(eSpoteListen);
    
eLink EffectLinkEffects(eLinkeVis);
    
eLink EffectLinkEffects(eLinkeDur);

    
object oTarget GetSpellTargetObject();
    
int nLevel GetCasterLevel(OBJECT_SELF);
    
int nMetaMagic GetMetaMagicFeat();

    
//Meta-Magic checks
    
if(nMetaMagic == METAMAGIC_EXTEND)
    {
        
nLevel *= 2;
    }
    
//Edit Nek
    
if(GetObjectType(oTarget) == OBJECT_TYPE_DOOR)
    {
     
location lDepart GetLocation(OBJECT_SELF);
     
float fDirPorte GetFacing(oTarget);
     
vector vPorte GetPosition(oTarget);
     
vector vArrivee vPorte + (3.0 AngleToVector(fDirPorte 180.0));
     
location lArrivee Location(GetArea(oTarget), vArriveefDirPorte);
     
SetPlotFlag(OBJECT_SELFTRUE);
     
effect eInvis EffectInvisibility(INVISIBILITY_TYPE_IMPROVED);
     
effect eImmo EffectPetrify();
     
effect eLink EffectLinkEffects(eInviseImmo);
     
ApplyEffectToObject(DURATION_TYPE_TEMPORARYeLinkOBJECT_SELF3.0);
     
JumpToLocation(lArrivee);
     
ActionDoCommand(ActionWait(3.0));
     
JumpToLocation(lDepart);
     
SetPlotFlag(OBJECT_SELFFALSE);
    }
    else
    {
    
//Make sure the spell has not already been applied
     
if(!GetHasSpellEffect(SPELL_CLAIRAUDIENCE_AND_CLAIRVOYANCEoTarget))
     {
        
//Fire cast spell at event for the specified target
        
SignalEvent(oTargetEventSpellCastAt(OBJECT_SELFSPELL_CLAIRAUDIENCE_AND_CLAIRVOYANCEFALSE));

         
//Apply linked and VFX effects
         
ApplyEffectToObject(DURATION_TYPE_TEMPORARYeLinkoTargetRoundsToSeconds(nLevel));
     }
    }

Re: Clairaudience
Super bonne idée ca
Ne peut on pas rendre ca plus polyvalent, cad le lancer n'importe où à portée (en plus de derriere une porte ) ?

Par contre, remplacer l'effet de déplacement de personnage par la creation d'un objet invisible (le null_human de skanzo par exemple ) sur lequel on braque la caméra (qui peut tourner autour de l'objet), mais ne peut pas deplacer l'objet ou autre).

On pourrait meme imaginer, puisque le personnage peut visionner l'endroit que s'il se concentre, de creer un objet "pierre de vision" par exemple avec un script associé qui permet d'emuler la concentration du lanceur de sort sur le capteur magique. En gros la pierre permettrait de "switcher" entre la vision normale et la vision braquée sur le capteur
Tout ça va demander une modification du 2DA j'en ai bien peur.

Chose à laquelle je n'avais pas pensé en modifiant le script, c'est que le sort ne pouvait pas cibler autre chose qu'un personnage ou une créature. Donc pas de porte ni même de placeable quelconque. Il faut pour cela modifier le 2DA, et donc changer l'override ou ajouter un HakPak.

Pour moi ça ne pose pas de problème, mais ça rend tout de suite la modification moins intéressante pour ceux qui n'utilisent pas de HakPak ou qui ne désirent pas modifier l'override.


Archamedes ok je vais jeter un oeil à ça.
L'include qui va bien: #include "x1_inc_cutscene"

ApplyEffectToObject(DURATION_TYPE_TEMPORARY, EffectVisualEffect(VFX_DUR_CUTSCENE_INVISIBILITY, FALSE), oPC, 3.0);

ça doit remplacer qqes lignes et ça à l'avantage de pas s'embéter avec les factions.
Citation :
Provient du message de Nissus/Nek/Delph
Ah je vais essayer ça merci

Mais le prob est qu'on ne peut pas cibler une porte sans changer le 2DA
Si tu ne le fais pas, je le ferais pour le grimoire
Y'a qu'a faire une version light, et une version hakpack
La version light, tu dois absolument cibler une créature, la seule solution que je vois, c'est en faire apparaitre une, si elle possède le TAG X, enclencher la suite du sort, et faire disparaitre la créature.

Mais bon, ça fait bibouille....
Citation :
Provient du message de Nissus/Nek/Delph
La version light, tu dois absolument cibler une créature, la seule solution que je vois, c'est en faire apparaitre une, si elle possède le TAG X, enclencher la suite du sort, et faire disparaitre la créature.

Mais bon, ça fait bibouille....
erf en effet la version light serais bof des le depart : /
Répondre

Connectés sur ce fil

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