La Bibliothèque de Neverwinter Nights
Aide et informations diverses sur Neverwinter Nights ainsi que D&D3.
La date/heure actuelle est 09/05/2024 11:09:42


  Page 1 sur 1 ¤

Voir le sujet précédent ¤ Voir le sujet suivant 
Auteur Message
Charietto
Acolyte
Inscrit le: 23 Mai 2006
Messages: 25
Répondre en citant
Posté le : 05/07/2006 13:38:30 Sujet du message : [Résolu] Limiter la récupération des PV durant le repos.

Voilà, en cherchant bien sur le forum j'ai trouvé ce script qui me convient presque à merveille pour limiter la récupération des PV au cours une session de repos:

NWScript :

void SetCreatureHitPoints(object oCreature, int nAmount)
{
  effect eSetHP;
  int nCurHP = GetCurrentHitPoints(oCreature);
  int nMaxHP = GetMaxHitPoints(oCreature);
  if (nAmount > nMaxHP)
  {
    nAmount = nMaxHP;
  }
  else if (nAmount < -10)
  {
    nAmount = -10;
  }
  int nDelta = nAmount - nCurHP;
  if (nDelta > 0)
  {
    eSetHP = EffectHeal(nDelta);
    ApplyEffectToObject(DURATION_TYPE_PERMANENT, eSetHP, oCreature);
  }
  else if (nDelta < 0)
  {
    eSetHP = EffectDamage(abs(nDelta), DAMAGE_TYPE_DIVINE, DAMAGE_POWER_ENERGY);
    ApplyEffectToObject(DURATION_TYPE_PERMANENT, eSetHP, oCreature);
  }
}
Note : le code affiché ci-dessus n'est pas rendu tel qu'il devrait l'être réellement, en particulier des sauts de lignes sont automatiquement insérés pour éviter de casser la mise en page. En le copiant/collant, vous résoudrez ce problème.


Le problème, c'est que, si je suis tout à fait pour limiter le repos, beaucoup trop favorable à mon goût, je ne veut pas non plus le rendre complètement inutile (surtout que j'impose déjà au personnage d'avoir à boire et à manger pour se reposer).
Si l'on considère un guerrier niveau 1, qui part metton avec 14 en constitution, donc 12 PV, et qui tombe à 1, il lui faudrait se reposer 11 fois consécutives pour remonter au maximum (c'est un peu beaucoup quand même!), ou histoire d'être juste un peu d'attaque, disons de récupérer au moins la moitié de ses PV, 5 repos consécutifs. C'est toujours un peu trop.
Est-il possible de modifier le script ci-dessus pour qu'il rende au PJ son Niveau + Modificateur de Constitution (il me semble que c'est la manière dont cela fonctionne normalement dans D&D3, mais ça fait un petit moment - 2 ou 3 ans - que j'ai lu les règles, donc je ne me rappelle plus trés bien Razz), au lieu de son niveau seulement?

Edit:
Je m'auto-réponds, dans la série pourquoi faire simple quand on peut faire compliqué...
En fait je ne cherchais pas où il fallait. Pour obtenir l'effet désiré, plutôt que d'essayer de bidouiller la partie indiquée ci-dessus, il suffit de modifier la ligne du script principal qui donne la quantité de PV récupérée, en remplaçant:

(oPC étant le PJ qui se repose)
NWScript :

case REST_EVENTTYPE_REST_FINISHED : // Le repos se termine normalement
    {
      int nNewAmount = GetLocalInt(oPC, "CURRENTHP") + GetHitDice(oPC);
      SetCreatureHitPoints(oPC, nNewAmount);
      SendMessageToPC(oPC, "");
    }break;
Note : le code affiché ci-dessus n'est pas rendu tel qu'il devrait l'être réellement, en particulier des sauts de lignes sont automatiquement insérés pour éviter de casser la mise en page. En le copiant/collant, vous résoudrez ce problème.


par

NWScript :

case REST_EVENTTYPE_REST_FINISHED : // Le repos se termine normalement
    {
      int nNewAmount = GetLocalInt(oPC, "CURRENTHP") + GetHitDice(oPC) + GetAbilityModifier(ABILITY_CONSTITUTION, oPC);
      SetCreatureHitPoints(oPC, nNewAmount);
      SendMessageToPC(oPC, "");
    }break;
Note : le code affiché ci-dessus n'est pas rendu tel qu'il devrait l'être réellement, en particulier des sauts de lignes sont automatiquement insérés pour éviter de casser la mise en page. En le copiant/collant, vous résoudrez ce problème.
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Montrer les messages depuis :
Page 1 sur 1 ¤


Vous ne pouvez pas poster de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas voter dans les sondages de ce forum


Sauter vers:
FAQ | Rechercher | Liste des Membres | Groupes d'utilisateurs | S'enregistrer | Profil | Se connecter pour vérifier ses messages privés | Connexion
Powered by phpBB 2.* [m] © 2001, 2002 phpBB Group
Theme rewritten in beautiful XHTML code by Baldurien.
Thème "La Bibliothèque de Neverwinter" crée par Kruger
Traduction par : phpBB-fr.com
Page generated in 23.351ms