JeuxOnLineForumsPlusConnectés : 696 (sites) | 1126 (forums)Créer un compte
Forum jeux-vidéo>Neverwinter Nights
Maskado
Les forums JOL > Forum jeux-vidéo > Neverwinter Nights > NWN - Maskado > [DD SPELL]Remove Fear RSS
   
Répondre
Partager Outils Rechercher
Avatar de Dolanor
Dolanor
Alpha & Oméga
 
Avatar de Dolanor
 

[DD SPELL]Remove Fear






Voila le code du sort remove fear/regain d'assurance a la sauce d&d.

Code PHP:
//::///////////////////////////////////////////////
//:: Remove Fear
//:: NW_S0_RmvFear.nss
//:: Copyright (c) 2001 Bioware Corp.
//:://////////////////////////////////////////////
/*
    All allies within a 10ft radius have their actual fear
    effects allowed a new saving throw against a random
    DC based on the caster level, but with a +4 bonus
    and if they didn't have a fear effect they
    are granted a +4 Save versus future fear effects.
*/
//:://////////////////////////////////////////////
//:: Created By: Preston Watamaniuk
//:: Created On: April 13, 2001
//:://////////////////////////////////////////////
//:://////////////////////////////////////////////
//:: Modified By: Dolanor
//:: Modified On: 23/05/2005
//:://////////////////////////////////////////////
#include "NW_I0_SPELLS"

void main()
{
    
//Declare major variables
    
object oTarget;
    
effect eFear;
    
effect eSave EffectSavingThrowIncrease(SAVING_THROW_WILL4SAVING_THROW_TYPE_FEAR);
    
effect eMind EffectVisualEffect(VFX_DUR_MIND_AFFECTING_POSITIVE);
    
effect eDur EffectVisualEffect(VFX_DUR_CESSATE_POSITIVE);
    
effect eImpact EffectVisualEffect(VFX_FNF_LOS_HOLY_10);

    
effect eLink EffectLinkEffects(eMindeSave);
    
eLink EffectLinkEffects(eLinkeDur);
    
float fDelay;
    
ApplyEffectAtLocation(DURATION_TYPE_INSTANTeImpactGetSpellTargetLocation());
    
effect eVis EffectVisualEffect(VFX_IMP_REMOVE_CONDITION);
    
//Get first target in the spell area
    
oTarget GetFirstObjectInShape(SHAPE_SPHERERADIUS_SIZE_MEDIUMGetSpellTargetLocation());


    
int nCLevel GetCasterLevel(OBJECT_SELF);
    
int nFriendNumber + (nCLevel 4);
    
//indique si le sujet a un effet de peur applique
    
int nFear 0;
    while (
GetIsObjectValid(oTarget) && nFriendNumber 0)
    {
        
//Only remove the fear effect from the people who are friends.
        
if(GetIsFriend(oTarget))
        {
            
fDelay GetRandomDelay();
            
//Fire cast spell at event for the specified target
            
SignalEvent(oTargetEventSpellCastAt(OBJECT_SELFSPELL_REMOVE_FEARFALSE));
            
eFear GetFirstEffect(oTarget);
            
//Get the first effect on the current target
            
while(GetIsEffectValid(eFear))
            {
                if (
GetEffectType(eFear) == EFFECT_TYPE_FRIGHTENED)
                {
                    
//Remove any fear effects and apply the VFX impact
                    
RemoveEffect(oTargeteFear);
                    
ApplyEffectToObject(DURATION_TYPE_INSTANTeVisoTarget);
                    
//On assigne une valeur aleatoire au DC du 2 eme effet de peur
                    
int nRandomFearDC Random(nCLevel 4) + 6;
                    if(!
MySavingThrow(SAVING_THROW_WILLoTargetnRandomFearDCSAVING_THROW_TYPE_FEAROBJECT_SELFfDelay))
                    {
                        
nFear 1;
                        
DelayCommand(fDelayApplyEffectToObject(DURATION_TYPE_TEMPORARYeLinkoTargetRoundsToSeconds(d6(Random(nCLevel 6) + 1))));
                    }
                }
                
//Get the next effect on the target
                
eFear GetNextEffect(oTarget);
            }
            if (
nFear == 0)
            {
                
//Apply the linked effects
                
DelayCommand(fDelayApplyEffectToObject(DURATION_TYPE_TEMPORARYeLinkoTargetRoundsToSeconds(100)));
            }
            
//On reinitialise nFear
            
nFear 0;
            
//On a utilise le sort sur 1 ami, on passe au suivant.
            
nFriendNumber--;
        }
        
//Get the next target in the spell area.
        
oTarget GetNextObjectInShape(SHAPE_SPHERERADIUS_SIZE_MEDIUMGetSpellTargetLocation());
    }


CORRECTIONS apportées :
*Le sort n'enleve plus l'effet de peur, mais permet de rejouer le jet de sauvegarde avec le bonus de +4 de ce sort.
Je n'ai pas pu rejouer exactement le meme effet de peur, car d'une part je peux recuperer l'effet de peur, mais ni sa durée, ni son DD, donc sa durée et son DD sont aleatoire en fonction du niveau du pretre (j'ai pas trouvé mieux, mais il me semble que plus un pretre est elevé, plus il va affronter des bestioles avec des pouvoirs plus difficile et plus long). Mais bon si la valeur aleatoire descends tres bas face a un DD de dragon, l'allié resistera surement au nouveau JS, mais ca reste mieux que d'enlever l'effet de peur directement. La y'a une chance que ca ne se dissipe pas.
*Changé la durée du sort de 10 rd a 10 min.
Lien direct vers le message - Vieux
Répondre
Les forums JOL > Forum jeux-vidéo > Neverwinter Nights > NWN - Maskado > [DD SPELL]Remove Fear
   

Outils Rechercher
Rechercher:

Recherche avancée

Les vidéos de Neverwinter Nights RSS
  • Aucune vidéo pour le moment...
Thème visuel : Fuseau horaire GMT +1. Il est actuellement 16h57.
   

© JeuxOnLine, le site des MMO, MMORPG et MOBA. Tous droits réservés. - Conditions générales d'utilisation - Conditions d'utilisation des forums - Traitement des données personnelles - ! Signaler un contenu illicite