I am trying to change the Divine Might feat, so if my conditions are met, it will increase Divine damage by more than 20 damage, maybe 3d12 or 6d6.
Does anyone know if this is possible, if so, how is it done?
Thanks in advance
I am trying to change the Divine Might feat, so if my conditions are met, it will increase Divine damage by more than 20 damage, maybe 3d12 or 6d6.
Does anyone know if this is possible, if so, how is it done?
Thanks in advance
2da edits. I'll post ours when I get home.
Funky
2da edits. I'll post ours when I get home.
Funky
Thanks would be great
lf help
can anyone help?
Sorry it took so long to get back to you. Here is the 2da:
I think it's also used in CEP 2.3 and 2.4, now, but I can't remember.
LMK if you have any questions.
Funky
Sorry it took so long to get back to you. Here is the 2da:
I think it's also used in CEP 2.3 and 2.4, now, but I can't remember.
LMK if you have any questions.
Funky
How do i call these functions in the scripts?
Tried to write the game string ingame, eg. 5093 for 10d10 dmg, didnt work.
Also tried DAMAGE_BONUS_10d10, didnt work either.
anyone can help?
You use the 2da line number (the leftmost number), as all consts do. Take a look at the nwscript core include to see the default consts and compare them to 2da values. I suggest you add new consts in a different file, though, if you want to use them (for, say, ease of readability).
For an example of how to declare your own consts, here's an example file from the legendary leveler showing both const strings and const ints. You'll be using const ints for your damage types:
// This lists all of the constant ints that are to be used for LL // This is the path to your servervault. It must be set correctly for Letoscript to work. //const string NWNPATH = "C:/NeverwinterNights/NWN/servervault/";//windows sample const string NWNPATH = "/home/funkyswerve/nwn/servervault/";//linux sample const string NWNPATHDEV = "/home/funkyswerve/nwn-dev/servervault/"; const int ALSO_USING_DAR = TRUE;//set this to true if also using DAR subrace system const int DEBUG = FALSE;//set this to TRUE to enable debugging const int DEV_CRIT_DISABLED = FALSE;//set this to TRUE to disable devastating critical feat selection on levelup // Experience Requirements for Legendary Levels // Adjust as desired. These were set by increasing the additional amount required for the // previous level by 25%. Level 40 required 39000 experience points, so Level 41 was set // to require 39000 x 1.25 = 48800 experience points under the old system. This will be ALOT on some worlds, // and not enough on others, so adjust to suit your needs. Under the new system the progression is a linear // rather than an exponential increase in the additional amount needed per level. const int BASE_XP_LVL_40 = 780000;//220 //780000 const int XP_REQ_LVL41 = 1000000;//240 //828800; //48800 const int XP_REQ_LVL42 = 1240000;//280 //889700; //60900 const int XP_REQ_LVL43 = 1520000;//320 //965900; //76200 const int XP_REQ_LVL44 = 1840000;//360 //1061100; //95200 const int XP_REQ_LVL45 = 2200000;//400 //1180100; //119000 const int XP_REQ_LVL46 = 2600000;//440 //1328900; //148800 const int XP_REQ_LVL47 = 3040000;//480 //1514900; //186000 const int XP_REQ_LVL48 = 3520000;//520 //1747400; //232500 const int XP_REQ_LVL49 = 4040000;//560 //2038000; //290600 const int XP_REQ_LVL50 = 4600000;//600 //2401200; //363200 const int XP_REQ_LVL51 = 5200000;//640 //2855200; //454000 const int XP_REQ_LVL52 = 5840000;//680 //3422700; //567500 const int XP_REQ_LVL53 = 6520000;//720 //4132100; //709400 const int XP_REQ_LVL54 = 7240000;//760 //5018900; //886800 const int XP_REQ_LVL55 = 8000000;//800 //6127300; //1108400 const int XP_REQ_LVL56 = 8800000;//840 //7512900; //1385600 const int XP_REQ_LVL57 = 9640000;//880 //9244800; //1731900 const int XP_REQ_LVL58 = 10520000;//920 //11409700; //2164900 const int XP_REQ_LVL59 = 11440000;//1060 //14115900; //2706200 const int XP_REQ_LVL60 = 12500000;//17498600; //3382700
Funky
If you're fine with static numbers only (meaning Divine Shield could do 60 damage but not 6d20) and fine with it not displaying on the player sheet correctly (it functions correctly in the combat log) you could simply use the following function. So EffectDamageIncreaseImproved(95, DAMAGE_TYPE_NEGATIVE) would cause the player to do 95 more Negative damage per hit -- subject to the same rules as EffectDamageIncrease as it still uses that as a base.
//// Returns a damage increase effect of the specified damage type, no limit (default function has a limit of 20)
effect EffectDamageIncreaseImproved(int nAmount, int nType)
{
// Declare variables
int nDam, nDone;
effect eDam;
// Loop until we've exhausted nAmount
while (nAmount)
{
// Simple if nAmount is 1-5
if (nAmount < 6)
{
nDam = nAmount;
nAmount = 0;
}
// Adjust for nAmount being 6-20
else if (nAmount < 21)
{
nDam = nAmount + 10;
nAmount = 0;
}
// Make a damage increase of 20 and drop nAmount by 20
else
{
nDam = 30;
nAmount -= 20;
}
// Make the damage effect the first time through the loop
if (!nDone)
{
eDam = EffectDamageIncrease(nDam, nType);
nDone = 1;
}
// Link it for the second time and beyond
else
{
eDam = EffectLinkEffects(eDam, EffectDamageIncrease(nDam, nType));
}
}
// Return our effect
return eDam;
}