JeuxOnLineForumsPlusConnectés : 725 (sites) | 1142 (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]Horrid Wilting RSS
   
Répondre
Partager Outils Rechercher
Avatar de Dolanor
Dolanor
Alpha & Oméga
 
Avatar de Dolanor
 

[DD SPELL]Horrid Wilting




Modification de flétrissure :

Code PHP:
//::///////////////////////////////////////////////
//:: Horrid Wilting
//:: NW_S0_HorrWilt
//:: Copyright (c) 2001 Bioware Corp.
//:://////////////////////////////////////////////
/*
    All living creatures (not undead or constructs)
    suffer 1d8 damage of negative energy per caster level to a maximum
    of 25d8 damage. 1/2 on successful fortitude save
    but Water elemental suffer a -2 penalty on the roll.

*/
//:://////////////////////////////////////////////
//:: Created By: Preston Watamaniuk
//:: Created On: Sept 12 , 2001
//:: Modified By: Dolanor
//:: Modified On: 22/05/2003
//:://////////////////////////////////////////////

#include "NW_I0_SPELLS"
void main()
{
    
//Declare major variables
    
object oCaster OBJECT_SELF;
    
int nCasterLvl GetCasterLevel(oCaster);
    
int nMetaMagic GetMetaMagicFeat();
    
int nDamage;
    
float fDelay;
    
effect eExplode EffectVisualEffect(VFX_FNF_HORRID_WILTING);
    
effect eVis EffectVisualEffect(VFX_IMP_NEGATIVE_ENERGY);
    
effect eDam;
    
//Get the spell target location as opposed to the spell target.
    
location lTarget GetSpellTargetLocation();
    
//Limit Caster level for the purposes of damage
    
if (nCasterLvl 25)
    {
        
nCasterLvl 25;
    }
    
//Apply the horrid wilting explosion at the location captured above.
    
ApplyEffectAtLocation(DURATION_TYPE_INSTANTeExplodelTarget);
    
//Declare the spell shape, size and the location.  Capture the first target object in the shape.
    
object oTarget GetFirstObjectInShape(SHAPE_SPHERERADIUS_SIZE_HUGElTarget);
    
//Cycle through the targets within the spell shape until an invalid object is captured.
    
while (GetIsObjectValid(oTarget))
    {
        
//Fire cast spell at event for the specified target
        
SignalEvent(oTargetEventSpellCastAt(OBJECT_SELFSPELL_HORRID_WILTING));
        
//Get the distance between the explosion and the target to calculate delay
        
fDelay GetRandomDelay(1.52.5);
        if (!
MyResistSpell(OBJECT_SELFoTargetfDelay))
        {
            if(
GetRacialType(oTarget) != RACIAL_TYPE_CONSTRUCT && GetRacialType(oTarget) != RACIAL_TYPE_UNDEAD)
            {
                
//Roll damage for each target
                
nDamage d8(nCasterLvl);

                
//Resolve metamagic
                
if (nMetaMagic == METAMAGIC_MAXIMIZE)
                {
                    
nDamage nCasterLvl;
                }
                else if (
nMetaMagic == METAMAGIC_EMPOWER)
                {
                   
nDamage nDamage nDamage 2;
                }
                
//Si la cible est un elementaire d'eau, il subit un malus de -2 au JS
                
if (GetRacialType(oTarget) == RACIAL_TYPE_ELEMENTAL && GetStringLeft(GetTag(oTarget),6) == "NW_WAT")
                {
                    
//On applique le malus de -2 au jet de sauvegarde
                    
ApplyEffectToObject(DURATION_TYPE_PERMANENTEffectSavingThrowDecrease(SAVING_THROW_FORT2SAVING_THROW_TYPE_NONE), oTarget);
                    if(
/*Fort Save*/ MySavingThrow(SAVING_THROW_FORToTarget, (GetSpellSaveDC()), SAVING_THROW_TYPE_NONEOBJECT_SELFfDelay))
                    {
                        
nDamage nDamage/2;
                    }
                    
//On enleve le malus de -2 au jet de sauvegarde
                    
RemoveEffect(oTarget,EffectSavingThrowDecrease(SAVING_THROW_FORT2SAVING_THROW_TYPE_NEGATIVE));
                }
                else if(
/*Fort Save*/ MySavingThrow(SAVING_THROW_FORToTargetGetSpellSaveDC(), SAVING_THROW_TYPE_NONEOBJECT_SELFfDelay))
                {
                    
nDamage nDamage/2;
                }
                
//Set the damage effect
                
eDam EffectDamage(nDamageDAMAGE_TYPE_NEGATIVE);
                
// Apply effects to the currently selected target.
                
DelayCommand(fDelayApplyEffectToObject(DURATION_TYPE_INSTANTeDamoTarget));
                
//This visual effect is applied to the target object not the location as above.  This visual effect
                //represents the flame that erupts on the target not on the ground.
                
DelayCommand(fDelayApplyEffectToObject(DURATION_TYPE_INSTANTeVisoTarget));
            }

         }
       
//Select the next target within the spell shape.
       
oTarget GetNextObjectInShape(SHAPE_SPHERERADIUS_SIZE_HUGElTarget);
    }


CORRECTION apportées :
*Changement du type de dommage : Energie negative au lieu de magique.
*Rajout du malus au JS de -2 pour les elementaires d'eau, mais pas pour les vegetaux vu que le type vegetal n'existe pas.
*Endommage aussi bien ami que ennemi. Mages bigleux s'abstenir !


PS : Par contre, pourquoi voudrais tu mettre les dommages en type energie negative Sol ?? Je l'ai fait mais je me pose encore la question, je pense que les degats magiques sont plus adaptés.
Lien direct vers le message - Vieux
Avatar de eMRaistlin
eMRaistlin
Alpha & Oméga
 
Avatar de eMRaistlin
 
c'est pas dans le php, les degats magiques ?


(souvenirs de baldur inside...)
Lien direct vers le message - Vieux
Avatar de Dolanor
Dolanor
Alpha & Oméga
 
Avatar de Dolanor
 
Citation:
Provient du message de eMRaistlin
c'est pas dans le php, les degats magiques ?


(souvenirs de baldur inside...)
Non les dommages deviennent des dommage d'energie negative.
A moins que je n'ai pas compris la question ^^

Par contre j'ai besoin d'aide concernant la comparaison avec les tag de l'elemental d'eau :
Code PHP:
//Si la cible est un elementaire d'eau, il subit un malus de -2 au JS
                    
if (GetRacialType(oTarget) == RACIAL_TYPE_ELEMENTAL && GetTag(oTarget) == "NW_WAT"
En utilisant le GetTag(oTarget) == "NW_WAT", est ce qu'il va prendre en compte que la chaine NW_WAT peut etre continuée :
NW_WAT : elementaire d'eau
NW_WATHUGE : elementaire d'eau enorme
NW_WATELDER : Seigneur elementaire d'eau

Ou alors, comment faut il s'y prendre ?
Lien direct vers le message - Vieux
Avatar de eMRaistlin
eMRaistlin
Alpha & Oméga
 
Avatar de eMRaistlin
 
faut mettre un GetMatchedSubString(), je pense... sinon, ca ne fonctionnera pas
Lien direct vers le message - Vieux
Avatar de Archamedes_Fr
Archamedes_Fr
Alpha & Oméga
 
Avatar de Archamedes_Fr
 
Dans le MdJ, rien ne précise le type de dégâts infligés. Il est juste dit que Flétrissure provoque l'évaporation instantanée de toute l'eau corporelle des créatures vivantes.
De par l'explication, dégâts magique me semble plus approprié qu'Energie Négative. Normalement, la composante matérielle est un peu d'éponge.

Vous comptez rajouter les composantes matérielles ?
Lien direct vers le message - Vieux
Avatar de Dolanor
Dolanor
Alpha & Oméga
 
Avatar de Dolanor
 
Citation:
Provient du message de Archamedes_Fr
Dans le MdJ, rien ne précise le type de dégâts infligés. Il est juste dit que Flétrissure provoque l'évaporation instantanée de toute l'eau corporelle des créatures vivantes.
De par l'explication, dégâts magique me semble plus approprié qu'Energie Négative. Normalement, la composante matérielle est un peu d'éponge.

Vous comptez rajouter les composantes matérielles ?
On va en discuter encore. on pourra toujours le faire apres, mais c'est vrai que c'est plus approprié de tout faire en meme temps pour chaque sort (modif 2da si nécéssaire, description dans le dialog.tlk, code et composantes matérielles (en option))
Je pensais aussi peut etre a implanter des zone de magie sauvage ou de magie morte. Je sais que Delphinea en a, fo que je vois avec elle.

Concernant les degats magiques, moi aussi ca me semble approprié pour Fletrissure, mais Solaufein avait demandé de le changer, c'est pour ca, je lui redemande les raisons, je ne les trouve plus ^^.
Lien direct vers le message - Vieux
Avatar de Slay
Slay
Dauphin
 
Avatar de Slay
 
La partie du code qui gere les meta-magies est un peu inutile, etant donné qu'horrid wilting est deja un sort de niveau 8, les dons 'maximize spell' et 'empower spell' ne lui sont pas applicables (cela en ferait un sort au dessus du 9ieme niveau...)

Pour prendre en compte tous les elementaires d'eau utilise GetLeftString( GetTag(oTarget), 6 ) == "NW_WAT"
(plus efficace qu'un GetMatchedSubString() en terme de vitesse de traitement)
Le probleme demeure pour des elementaires customs dont le tag a été changé...
Lien direct vers le message - Vieux
Avatar de Dolanor
Dolanor
Alpha & Oméga
 
Avatar de Dolanor
 
Citation:
Provient du message de Slay
La partie du code qui gere les meta-magies est un peu inutile, etant donné qu'horrid wilting est deja un sort de niveau 8, les dons 'maximize spell' et 'empower spell' ne lui sont pas applicables (cela en ferait un sort au dessus du 9ieme niveau...)

Pour prendre en compte tous les elementaires d'eau utilise GetLeftString( GetTag(oTarget), 6 ) == "NW_WAT"
(plus efficace qu'un GetMatchedSubString() en terme de vitesse de traitement)
Le probleme demeure pour des elementaires customs dont le tag a été changé...
Oui le probleme reste dans les deux cas, donc ca ne me gene pas outre mesure.
merci en tout cas de ta precision concernant la vitesse de traitement de GetLeftString

Je vais editer sur le champ.
Je supprime aussi la gestion des dons, je preferais laisser au cas où on obtienne des slots de nivo superieur a 9 avec un des add on. Donc je l'ai effacé ici pour plus de clarté mais je le laisse dans mon code en commentaire, comme ca, pas de jaloux !
Lien direct vers le message - Vieux
Avatar de Nek
Nek
Alpha & Oméga
 
Avatar de Nek
 
Il est possible d'obtenir un niveau de sort bien au-delà du 9e, et ça même dans NWN.

Un PNJ peut avoir un niveau de lanceur de sort de 40 je vous le rappelle
Lien direct vers le message - Vieux
Avatar de Dolanor
Dolanor
Alpha & Oméga
 
Avatar de Dolanor
 
Citation:
Provient du message de Delphinea
Il est possible d'obtenir un niveau de sort bien au-delà du 9e, et ça même dans NWN.

Un PNJ peut avoir un niveau de lanceur de sort de 40 je vous le rappelle
Et les nivos de sorts evoluent comment ?? Comment ca s'affiche dans un livre de sort ?? :P

Et sinon quel est le 2da qui a la table d'evolution des sorts ?? j'aimerais le compulser mais je ne l'ai pas trouvé dans les source de base.
Lien direct vers le message - Vieux
Avatar de Slay
Slay
Dauphin
 
Avatar de Slay
 
Citation:
Provient du message de Delphinea
Il est possible d'obtenir un niveau de sort bien au-delà du 9e, et ça même dans NWN.

Un PNJ peut avoir un niveau de lanceur de sort de 40 je vous le rappelle
Ah oui exact, je viens de vérifier, et il est possible dans le toolset de leur attribuer de sorts de level 12
Bonjour les brutes
Lien direct vers le message - Vieux
Avatar de Dolanor
Dolanor
Alpha & Oméga
 
Avatar de Dolanor
 
Citation:
Provient du message de Slay
Ah oui exact, je viens de vérifier, et il est possible dans le toolset de leur attribuer de sorts de level 12
Bonjour les brutes
level 12 c'est pas assez pour avoir un arret du temps en tant que capacité magique illimité 1/rd grace au don innate spell. ^^
Ca va chercher dans les slots de niveau 17 et superieur ^^
Lien direct vers le message - Vieux
Avatar de Nek
Nek
Alpha & Oméga
 
Avatar de Nek
 
Met 50 en intel à ton monstre et donne lui le niveau mage 40, ensuite attribue lui les dons métamagiques, et enfin attribue ces dons aux sorts niveaux 9.
Et tu verras que le niveau du sort va monter tout seul
Lien direct vers le message - Vieux
Avatar de Dolanor
Dolanor
Alpha & Oméga
 
Avatar de Dolanor
 
Petite mise a jour, en remettant la metamagie disponible, mais aussi en mettant l'effet ne differenciant pas les amis des ennemis.
Un ami est une creature vivante comme une autre, il souffrira comme les autres si jamais il se trouve dans le nuage evaporant ^^
Lien direct vers le message - Vieux
Répondre
Les forums JOL > Forum jeux-vidéo > Neverwinter Nights > NWN - Maskado > [DD SPELL]Horrid Wilting
   

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 11h11.
   

© 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