diff --git a/nwn/nwnprc/trunk/2das/iprp_damagecost.2da b/nwn/nwnprc/trunk/2das/iprp_damagecost.2da
index 32a47ee8..13417c33 100644
--- a/nwn/nwnprc/trunk/2das/iprp_damagecost.2da
+++ b/nwn/nwnprc/trunk/2das/iprp_damagecost.2da
@@ -1,76 +1,106 @@
2DA V2.0
- Name Label Cost NumDice Die Rank GameString VFX
-0 **** Random 0 **** **** **** **** 0
-1 1035 1 0.125 0 1 1 **** 0
-2 1036 2 0.25 0 2 2 **** 0
-3 1037 3 0.5 0 3 4 **** 0
-4 1038 4 0.75 0 4 6 **** 1
-5 1039 5 1 0 5 8 **** 1
-6 1040 1d4 0.375 1 4 3 58314 0
-7 1041 1d6 0.625 1 6 5 58315 1
-8 1042 1d8 0.875 1 8 7 58316 1
-9 1043 1d10 1.125 1 10 9 58317 1
-10 1044 2d6 1.5 2 6 14 58318 1
-11 83572 2d8 2 2 8 17 83571 1
-12 83592 2d4 1 2 4 10 83595 1
-13 83590 2d10 2.5 2 10 22 83594 1
-14 83591 1d12 1.375 1 12 12 83596 1
-15 83598 2d12 3 2 12 26 83597 1
-16 83585 6 1.25 0 6 11 84297 1
-17 83586 7 1.5 0 7 13 84298 1
-18 83587 8 1.75 0 8 16 84299 1
-19 83588 9 2 0 9 18 84300 1
-20 83589 10 2.25 0 10 20 84301 1
-21 84251 11 2.5 0 11 23 84302 1
-22 84252 12 2.75 0 12 24 84303 1
-23 84253 13 3 0 13 27 84304 1
-24 84254 14 3.25 0 14 30 84305 1
-25 84255 15 3.5 0 15 32 84306 1
-26 84256 16 3.75 0 16 33 84307 1
-27 84257 17 4 0 17 35 84308 1
-28 84258 18 4.25 0 18 39 84309 1
-29 84259 19 4.5 0 19 40 84310 1
-30 84260 20 4.75 0 20 43 84311 1
-31 5068 3d6 2.375 3 6 21 16825573 1
-32 5069 4d6 3.25 4 6 29 16825574 1
-33 5070 5d6 4.125 5 6 37 16825575 1
-34 5071 6d6 5 6 6 44 16825576 1
-35 5072 7d6 5.875 7 6 48 16825577 1
-36 5073 8d6 6.75 8 6 53 16825578 1
-37 16823558 3d4 1.625 3 4 15 16823562 1
-38 16823559 4d4 2.25 4 4 19 16823563 1
-39 16823560 5d4 2.875 5 4 25 16823564 1
-40 16823561 6d4 3.5 6 4 31 16823565 1
-41 5077 3d8 3.125 3 8 28 16826366 1
-42 5078 4d8 4.25 4 8 28 16826367 1
-43 5079 5d8 5.375 5 8 47 16826368 1
-44 5080 6d8 6.5 6 8 51 16826369 1
-45 5081 7d8 7.625 7 8 55 16826370 1
-46 5082 8d8 8.75 8 8 59 16826371 1
-47 5083 9d8 9.875 9 8 62 16826372 1
-48 5084 10d8 11 10 8 64 16826373 1
-49 16825739 7d4 4.125 7 4 39 16825738 1
-50 16825741 8d4 4.75 8 4 42 16825740 1
-51 16825743 9d4 5.375 9 4 46 16825742 1
-52 16825745 10d4 6 10 4 49 16825744 1
-53 16825747 9d6 7.625 9 6 54 16825746 1
-54 16825749 10d6 8.5 10 6 58 16825748 1
-55 16825751 3d10 3.875 3 10 41 16825750 1
-56 16825753 4d10 5.25 4 10 45 16825752 1
-57 16825755 5d10 6.625 5 10 52 16825754 1
-58 16825757 6d10 8 6 10 57 16825756 1
-59 16825759 7d10 9.375 7 10 60 16825758 1
-60 16825761 8d10 10.75 8 10 63 16825760 1
-61 16825763 9d10 12.125 9 10 66 16825762 1
-62 16825765 10d10 13.5 10 10 68 16825764 1
-63 16825767 3d12 4.625 3 12 37 16825766 1
-64 16825769 4d12 6.25 4 12 50 16825768 1
-65 16825771 5d12 7.875 5 12 56 16825770 1
-66 16825773 6d12 9.5 6 12 61 16825772 1
-67 16825775 7d12 11.125 7 12 65 16825774 1
-68 16825777 8d12 12.75 8 12 67 16825776 1
-69 16825779 9d12 14.375 9 12 69 16825778 1
-70 16825781 10d12 16 10 12 70 16825780 1
-71 16833095 1d3 0.25 1 3 71 16833128 0
-72 16833129 4d3 1.625 4 3 72 16833130 1
+ Name Label Cost NumDice Die Rank GameString VFX
+0 **** Random 0 **** **** **** **** 0
+1 1035 1 0.125 0 1 1 **** 0
+2 1036 2 0.25 0 2 2 **** 0
+3 1037 3 0.5 0 3 4 **** 0
+4 1038 4 0.75 0 4 6 **** 1
+5 1039 5 1 0 5 7 **** 1
+6 1040 1d4 0.375 1 4 5 58314 0
+7 1041 1d6 0.625 1 6 8 58315 1
+8 1042 1d8 0.875 1 8 12 58316 1
+9 1043 1d10 1.125 1 10 15 58317 1
+10 1044 2d6 1.5 2 6 20 58318 1
+11 83572 2d8 2 2 8 27 83571 1
+12 83592 2d4 1 2 4 11 83595 1
+13 83590 2d10 2.5 2 10 34 83594 1
+14 83591 1d12 1.375 1 12 21 83596 1
+15 83598 2d12 3 2 12 42 83597 1
+16 83585 6 1.25 0 6 9 84297 1
+17 83586 7 1.5 0 7 10 84298 1
+18 83587 8 1.75 0 8 13 84299 1
+19 83588 9 2 0 9 14 84300 1
+20 83589 10 2.25 0 10 16 84301 1
+21 84251 11 2.5 0 11 17 84302 1
+22 84252 12 2.75 0 12 22 84303 1
+23 84253 13 3 0 13 23 84304 1
+24 84254 14 3.25 0 14 24 84305 1
+25 84255 15 3.5 0 15 25 84306 1
+26 84256 16 3.75 0 16 28 84307 1
+27 84257 17 4 0 17 29 84308 1
+28 84258 18 4.25 0 18 31 84309 1
+29 84259 19 4.5 0 19 32 84310 1
+30 84260 20 4.75 0 20 35 84311 1
+31 5068 3d6 2.375 3 6 30 16825573 1
+32 5069 4d6 3.25 4 6 40 16825574 1
+33 5070 5d6 4.125 5 6 50 16825575 1
+34 5071 6d6 5 6 6 61 16825576 1
+35 5072 7d6 5.875 7 6 72 16825577 1
+36 5073 8d6 6.75 8 6 79 16825578 1
+37 16823558 3d4 1.625 3 4 19 16823562 1
+38 16823559 4d4 2.25 4 4 26 16823563 1
+39 16823560 5d4 2.875 5 4 33 16823564 1
+40 16823561 6d4 3.5 6 4 39 16823565 1
+41 5077 3d8 3.125 3 8 41 16826366 1
+42 5078 4d8 4.25 4 8 55 16826367 1
+43 5079 5d8 5.375 5 8 67 16826368 1
+44 5080 6d8 6.5 6 8 80 16826369 1
+45 5081 7d8 7.625 7 8 87 16826370 1
+46 5082 8d8 8.75 8 8 91 16826371 1
+47 5083 9d8 9.875 9 8 94 16826372 1
+48 5084 10d8 11 10 8 97 16826373 1
+49 16825739 7d4 4.125 7 4 47 16825738 1
+50 16825741 8d4 4.75 8 4 54 16825740 1
+51 16825743 9d4 5.375 9 4 60 16825742 1
+52 16825745 10d4 6 10 4 69 16825744 1
+53 16825747 9d6 7.625 9 6 86 16825746 1
+54 16825749 10d6 8.5 10 6 90 16825748 1
+55 16825751 3d10 3.875 3 10 51 16825750 1
+56 16825753 4d10 5.25 4 10 68 16825752 1
+57 16825755 5d10 6.625 5 10 84 16825754 1
+58 16825757 6d10 8 6 10 88 16825756 1
+59 16825759 7d10 9.375 7 10 93 16825758 1
+60 16825761 8d10 10.75 8 10 96 16825760 1
+61 16825763 9d10 12.125 9 10 99 16825762 1
+62 16825765 10d10 13.5 10 10 101 16825764 1
+63 16825767 3d12 4.625 3 12 62 16825766 1
+64 16825769 4d12 6.25 4 12 81 16825768 1
+65 16825771 5d12 7.875 5 12 89 16825770 1
+66 16825773 6d12 9.5 6 12 92 16825772 1
+67 16825775 7d12 11.125 7 12 95 16825774 1
+68 16825777 8d12 12.75 8 12 98 16825776 1
+69 16825779 9d12 14.375 9 12 100 16825778 1
+70 16825781 10d12 16 10 12 102 16825780 1
+71 16833095 1d3 0.25 1 3 3 16833128 0
+72 16833129 4d3 1.625 4 3 18 16833130 1
+73 16857216 21 5.25 0 21 36 16857217 1
+74 16857218 22 5.5 0 22 37 16857219 1
+75 16857220 23 5.75 0 23 38 16857221 1
+76 16857222 24 6 0 24 43 16857223 1
+77 16857224 25 6.25 0 25 44 16857225 1
+78 16857226 26 6.5 0 26 45 16857227 1
+79 16857228 27 6.75 0 27 46 16857229 1
+80 16857230 28 7 0 28 48 16857231 1
+81 16857232 29 7.25 0 29 49 16857233 1
+82 16857234 30 7.5 0 30 52 16857235 1
+83 16857236 31 7.75 0 31 53 16857237 1
+84 16857238 32 8 0 32 56 16857239 1
+85 16857240 33 8.25 0 33 57 16857241 1
+86 16857242 34 8.5 0 34 58 16857243 1
+87 16857244 35 8.75 0 35 59 16857245 1
+88 16857246 36 9 0 36 63 16857247 1
+89 16857248 37 9.25 0 37 64 16857249 1
+90 16857250 38 9.5 0 38 65 16857251 1
+91 16857252 39 9.75 0 39 66 16857253 1
+92 16857254 40 10 0 40 70 16857255 1
+93 16857256 41 10.25 0 41 71 16857257 1
+94 16857258 42 10.5 0 42 73 16857259 1
+95 16857260 43 10.75 0 43 74 16857261 1
+96 16857262 44 11 0 44 75 16857263 1
+97 16857264 45 11.25 0 45 76 16857265 1
+98 16857266 46 11.5 0 46 77 16857267 1
+99 16857268 47 11.75 0 47 78 16857269 1
+100 16857270 48 12 0 48 82 16857271 1
+101 16857272 49 12.25 0 49 83 16857273 1
+102 16857274 50 12.5 0 50 85 16857275 1
diff --git a/nwn/nwnprc/trunk/include/inc_dispel.nss b/nwn/nwnprc/trunk/include/inc_dispel.nss
index 01886d43..6d09d8e2 100644
--- a/nwn/nwnprc/trunk/include/inc_dispel.nss
+++ b/nwn/nwnprc/trunk/include/inc_dispel.nss
@@ -194,9 +194,9 @@ void spellsDispelAoEMod(object oTargetAoE, object oCaster, int nCasterLevel)
void DispelMagicBestMod(object oTarget, int nCasterLevel)
{
- /// I *really* want to rewrite this one so that it simply dispels the most useful effect
- /// instead of just the one with the highest caster level.
- /// Sure hate to dispel mage armor on somebody who's immune to necromancy. Difficult Decision, these.
+ // I *really* want to rewrite this one so that it simply dispels the most useful effect
+ // instead of just the one with the highest caster level.
+ // Sure hate to dispel mage armor on somebody who's immune to necromancy. Difficult Decision, these.
//:: calls a function to determine whether infestation of maggots is in effect
@@ -897,6 +897,47 @@ int PRCGetSpellBreachProtection(int nLastChecked)
}
int PRCRemoveProtections(int nSpell_ID, object oTarget, int nCount)
+{
+ // Declare major variables
+ effect eProtection;
+ int nCnt = 0;
+
+ // Check if the target has any effects from the specified spell ID
+ if (GetHasSpellEffect(nSpell_ID, oTarget))
+ {
+ // Start looping through all effects on the target
+ eProtection = GetFirstEffect(oTarget);
+ while (GetIsEffectValid(eProtection))
+ {
+ // Only remove effects that:
+ // - Match the given spell ID
+ // - Are Magical (to comply with Breach spell behavior)
+ if (GetEffectSpellId(eProtection) == nSpell_ID &&
+ GetEffectSubType(eProtection) == SUBTYPE_MAGICAL)
+ {
+ RemoveEffect(oTarget, eProtection);
+ nCnt++;
+ }
+
+ // Move to the next effect
+ eProtection = GetNextEffect(oTarget);
+ }
+ }
+
+ // Return 1 if any effects were removed, otherwise 0
+ if (nCnt > 0)
+ {
+ return 1;
+ }
+ else
+ {
+ return 0;
+ }
+}
+
+// This was dispelling Extraordinary, Supernatural & Unyielding effects -Jaysyn
+
+/* int PRCRemoveProtections(int nSpell_ID, object oTarget, int nCount)
{
//Declare major variables
effect eProtection;
@@ -926,7 +967,7 @@ int PRCRemoveProtections(int nSpell_ID, object oTarget, int nCount)
{
return 0;
}
-}
+} */
//------------------------------------------------------------------------------
// Attempts a dispel on one target, with all safety checks put in.
diff --git a/nwn/nwnprc/trunk/include/prc_inc_combat.nss b/nwn/nwnprc/trunk/include/prc_inc_combat.nss
index cfff20f6..6bd22aca 100644
--- a/nwn/nwnprc/trunk/include/prc_inc_combat.nss
+++ b/nwn/nwnprc/trunk/include/prc_inc_combat.nss
@@ -4351,6 +4351,67 @@ int GetDamageByConstant(int iDamageConst, int iItemProp)
return d3(1);
case IP_CONST_DAMAGEBONUS_4d3:
return d3(4);
+ case IP_CONST_DAMAGEBONUS_21:
+ return 21;
+ case IP_CONST_DAMAGEBONUS_22:
+ return 22;
+ case IP_CONST_DAMAGEBONUS_23:
+ return 23;
+ case IP_CONST_DAMAGEBONUS_24:
+ return 24;
+ case IP_CONST_DAMAGEBONUS_25:
+ return 25;
+ case IP_CONST_DAMAGEBONUS_26:
+ return 26;
+ case IP_CONST_DAMAGEBONUS_27:
+ return 27;
+ case IP_CONST_DAMAGEBONUS_28:
+ return 28;
+ case IP_CONST_DAMAGEBONUS_29:
+ return 29;
+ case IP_CONST_DAMAGEBONUS_30:
+ return 30;
+ case IP_CONST_DAMAGEBONUS_31:
+ return 31;
+ case IP_CONST_DAMAGEBONUS_32:
+ return 32;
+ case IP_CONST_DAMAGEBONUS_33:
+ return 33;
+ case IP_CONST_DAMAGEBONUS_34:
+ return 34;
+ case IP_CONST_DAMAGEBONUS_35:
+ return 35;
+ case IP_CONST_DAMAGEBONUS_36:
+ return 36;
+ case IP_CONST_DAMAGEBONUS_37:
+ return 37;
+ case IP_CONST_DAMAGEBONUS_38:
+ return 38;
+ case IP_CONST_DAMAGEBONUS_39:
+ return 39;
+ case IP_CONST_DAMAGEBONUS_40:
+ return 40;
+ case IP_CONST_DAMAGEBONUS_41:
+ return 41;
+ case IP_CONST_DAMAGEBONUS_42:
+ return 42;
+ case IP_CONST_DAMAGEBONUS_43:
+ return 43;
+ case IP_CONST_DAMAGEBONUS_44:
+ return 44;
+ case IP_CONST_DAMAGEBONUS_45:
+ return 45;
+ case IP_CONST_DAMAGEBONUS_46:
+ return 46;
+ case IP_CONST_DAMAGEBONUS_47:
+ return 47;
+ case IP_CONST_DAMAGEBONUS_48:
+ return 48;
+ case IP_CONST_DAMAGEBONUS_49:
+ return 49;
+ case IP_CONST_DAMAGEBONUS_50:
+ return 50;
+
}
}
else
@@ -4417,6 +4478,66 @@ int GetDamageByConstant(int iDamageConst, int iItemProp)
return d10(2);
case DAMAGE_BONUS_2d12:
return d12(2);
+ case DAMAGE_BONUS_21:
+ return 21;
+ case DAMAGE_BONUS_22:
+ return 22;
+ case DAMAGE_BONUS_23:
+ return 23;
+ case DAMAGE_BONUS_24:
+ return 24;
+ case DAMAGE_BONUS_25:
+ return 25;
+ case DAMAGE_BONUS_26:
+ return 26;
+ case DAMAGE_BONUS_27:
+ return 27;
+ case DAMAGE_BONUS_28:
+ return 28;
+ case DAMAGE_BONUS_29:
+ return 29;
+ case DAMAGE_BONUS_30:
+ return 30;
+ case DAMAGE_BONUS_31:
+ return 31;
+ case DAMAGE_BONUS_32:
+ return 32;
+ case DAMAGE_BONUS_33:
+ return 33;
+ case DAMAGE_BONUS_34:
+ return 34;
+ case DAMAGE_BONUS_35:
+ return 35;
+ case DAMAGE_BONUS_36:
+ return 36;
+ case DAMAGE_BONUS_37:
+ return 37;
+ case DAMAGE_BONUS_38:
+ return 38;
+ case DAMAGE_BONUS_39:
+ return 39;
+ case DAMAGE_BONUS_40:
+ return 40;
+ case DAMAGE_BONUS_41:
+ return 41;
+ case DAMAGE_BONUS_42:
+ return 42;
+ case DAMAGE_BONUS_43:
+ return 43;
+ case DAMAGE_BONUS_44:
+ return 44;
+ case DAMAGE_BONUS_45:
+ return 45;
+ case DAMAGE_BONUS_46:
+ return 46;
+ case DAMAGE_BONUS_47:
+ return 47;
+ case DAMAGE_BONUS_48:
+ return 48;
+ case DAMAGE_BONUS_49:
+ return 49;
+ case DAMAGE_BONUS_50:
+ return 50;
}
}
return 0;
diff --git a/nwn/nwnprc/trunk/include/prc_inc_combmove.nss b/nwn/nwnprc/trunk/include/prc_inc_combmove.nss
index 97223faa..7e863924 100644
--- a/nwn/nwnprc/trunk/include/prc_inc_combmove.nss
+++ b/nwn/nwnprc/trunk/include/prc_inc_combmove.nss
@@ -123,10 +123,10 @@ void DoBullRush(object oPC, object oTarget, int nExtraBonus, int nGenerateAoO =
int DoTrip(object oPC, object oTarget, int nExtraBonus, int nGenerateAoO = TRUE, int nCounterTrip = TRUE, int nSkipTouch = FALSE, int nAbi = 0);
/**
- * Will take an int and transform it into one of the DAMAGE_BONUS constants (From 1 to 20).
+ * Will take an int and transform it into one of the DAMAGE_BONUS constants (From 1 to 50).
*
* @param nCheck Int to convert
- * @return DAMAGE_BONUS_1 to DAMAGE_BONUS_20
+ * @return DAMAGE_BONUS_1 to DAMAGE_BONUS_50
*/
int GetIntToDamage(int nCheck);
@@ -1343,6 +1343,36 @@ int GetIntToDamage(int nCheck)
case 18: return DAMAGE_BONUS_18;
case 19: return DAMAGE_BONUS_19;
case 20: return DAMAGE_BONUS_20;
+ case 21: return DAMAGE_BONUS_21;
+ case 22: return DAMAGE_BONUS_22;
+ case 23: return DAMAGE_BONUS_23;
+ case 24: return DAMAGE_BONUS_24;
+ case 25: return DAMAGE_BONUS_25;
+ case 26: return DAMAGE_BONUS_26;
+ case 27: return DAMAGE_BONUS_27;
+ case 28: return DAMAGE_BONUS_28;
+ case 29: return DAMAGE_BONUS_29;
+ case 30: return DAMAGE_BONUS_30;
+ case 31: return DAMAGE_BONUS_31;
+ case 32: return DAMAGE_BONUS_32;
+ case 33: return DAMAGE_BONUS_33;
+ case 34: return DAMAGE_BONUS_34;
+ case 35: return DAMAGE_BONUS_35;
+ case 36: return DAMAGE_BONUS_36;
+ case 37: return DAMAGE_BONUS_37;
+ case 38: return DAMAGE_BONUS_38;
+ case 39: return DAMAGE_BONUS_39;
+ case 40: return DAMAGE_BONUS_40;
+ case 41: return DAMAGE_BONUS_41;
+ case 42: return DAMAGE_BONUS_42;
+ case 43: return DAMAGE_BONUS_43;
+ case 44: return DAMAGE_BONUS_44;
+ case 45: return DAMAGE_BONUS_45;
+ case 46: return DAMAGE_BONUS_46;
+ case 47: return DAMAGE_BONUS_47;
+ case 48: return DAMAGE_BONUS_48;
+ case 49: return DAMAGE_BONUS_49;
+ case 50: return DAMAGE_BONUS_50;
}
return -1;
}
diff --git a/nwn/nwnprc/trunk/include/prc_ipfeat_const.nss b/nwn/nwnprc/trunk/include/prc_ipfeat_const.nss
index f4aed584..2f5ed35f 100644
--- a/nwn/nwnprc/trunk/include/prc_ipfeat_const.nss
+++ b/nwn/nwnprc/trunk/include/prc_ipfeat_const.nss
@@ -713,8 +713,39 @@ const int IP_CONST_ONHIT_CASTSPELL_NIGHTSHADEPOISON = 201;
const int IP_CONST_ONHIT_CASTSPELL_LINGDMG = 202;
const int IP_CONST_CASTSPELL_ELDRITCH_GLAIVE_ONHIT = 205;
-// IP_CONST_DAMAGEBONUS
+//:: DAMAGE_BONUS_
+const int DAMAGE_BONUS_21 = 73;
+const int DAMAGE_BONUS_22 = 74;
+const int DAMAGE_BONUS_23 = 75;
+const int DAMAGE_BONUS_24 = 76;
+const int DAMAGE_BONUS_25 = 77;
+const int DAMAGE_BONUS_26 = 78;
+const int DAMAGE_BONUS_27 = 79;
+const int DAMAGE_BONUS_28 = 80;
+const int DAMAGE_BONUS_29 = 81;
+const int DAMAGE_BONUS_30 = 82;
+const int DAMAGE_BONUS_31 = 83;
+const int DAMAGE_BONUS_32 = 84;
+const int DAMAGE_BONUS_33 = 85;
+const int DAMAGE_BONUS_34 = 86;
+const int DAMAGE_BONUS_35 = 87;
+const int DAMAGE_BONUS_36 = 88;
+const int DAMAGE_BONUS_37 = 89;
+const int DAMAGE_BONUS_38 = 90;
+const int DAMAGE_BONUS_39 = 91;
+const int DAMAGE_BONUS_40 = 92;
+const int DAMAGE_BONUS_41 = 93;
+const int DAMAGE_BONUS_42 = 94;
+const int DAMAGE_BONUS_43 = 95;
+const int DAMAGE_BONUS_44 = 96;
+const int DAMAGE_BONUS_45 = 97;
+const int DAMAGE_BONUS_46 = 98;
+const int DAMAGE_BONUS_47 = 99;
+const int DAMAGE_BONUS_48 = 100;
+const int DAMAGE_BONUS_49 = 101;
+const int DAMAGE_BONUS_50 = 102;
+//:: IP_CONST_DAMAGEBONUS
const int IP_CONST_DAMAGEBONUS_11 = 21;
const int IP_CONST_DAMAGEBONUS_12 = 22;
const int IP_CONST_DAMAGEBONUS_13 = 23;
@@ -767,6 +798,37 @@ const int IP_CONST_DAMAGEBONUS_9d12 = 69;
const int IP_CONST_DAMAGEBONUS_10d12 = 70;
const int IP_CONST_DAMAGEBONUS_1d3 = 71;
const int IP_CONST_DAMAGEBONUS_4d3 = 72;
+const int IP_CONST_DAMAGEBONUS_21 = 73;
+const int IP_CONST_DAMAGEBONUS_22 = 74;
+const int IP_CONST_DAMAGEBONUS_23 = 75;
+const int IP_CONST_DAMAGEBONUS_24 = 76;
+const int IP_CONST_DAMAGEBONUS_25 = 77;
+const int IP_CONST_DAMAGEBONUS_26 = 78;
+const int IP_CONST_DAMAGEBONUS_27 = 79;
+const int IP_CONST_DAMAGEBONUS_28 = 80;
+const int IP_CONST_DAMAGEBONUS_29 = 81;
+const int IP_CONST_DAMAGEBONUS_30 = 82;
+const int IP_CONST_DAMAGEBONUS_31 = 83;
+const int IP_CONST_DAMAGEBONUS_32 = 84;
+const int IP_CONST_DAMAGEBONUS_33 = 85;
+const int IP_CONST_DAMAGEBONUS_34 = 86;
+const int IP_CONST_DAMAGEBONUS_35 = 87;
+const int IP_CONST_DAMAGEBONUS_36 = 88;
+const int IP_CONST_DAMAGEBONUS_37 = 89;
+const int IP_CONST_DAMAGEBONUS_38 = 90;
+const int IP_CONST_DAMAGEBONUS_39 = 91;
+const int IP_CONST_DAMAGEBONUS_40 = 92;
+const int IP_CONST_DAMAGEBONUS_41 = 93;
+const int IP_CONST_DAMAGEBONUS_42 = 94;
+const int IP_CONST_DAMAGEBONUS_43 = 95;
+const int IP_CONST_DAMAGEBONUS_44 = 96;
+const int IP_CONST_DAMAGEBONUS_45 = 97;
+const int IP_CONST_DAMAGEBONUS_46 = 98;
+const int IP_CONST_DAMAGEBONUS_47 = 99;
+const int IP_CONST_DAMAGEBONUS_48 = 100;
+const int IP_CONST_DAMAGEBONUS_49 = 101;
+const int IP_CONST_DAMAGEBONUS_50 = 102;
+
// IP_CONST_IMMUNITYSPELL
diff --git a/nwn/nwnprc/trunk/include/prc_x2_itemprop.nss b/nwn/nwnprc/trunk/include/prc_x2_itemprop.nss
index 424ed0e6..e69f65ba 100644
--- a/nwn/nwnprc/trunk/include/prc_x2_itemprop.nss
+++ b/nwn/nwnprc/trunk/include/prc_x2_itemprop.nss
@@ -1564,11 +1564,42 @@ int IPGetDamageBonusConstantFromNumber(int nNumber)
case 18: return DAMAGE_BONUS_18;
case 19: return DAMAGE_BONUS_19;
case 20: return DAMAGE_BONUS_20;
+ case 21: return DAMAGE_BONUS_21;
+ case 22: return DAMAGE_BONUS_22;
+ case 23: return DAMAGE_BONUS_23;
+ case 24: return DAMAGE_BONUS_24;
+ case 25: return DAMAGE_BONUS_25;
+ case 26: return DAMAGE_BONUS_26;
+ case 27: return DAMAGE_BONUS_27;
+ case 28: return DAMAGE_BONUS_28;
+ case 29: return DAMAGE_BONUS_29;
+ case 30: return DAMAGE_BONUS_30;
+ case 31: return DAMAGE_BONUS_31;
+ case 32: return DAMAGE_BONUS_32;
+ case 33: return DAMAGE_BONUS_33;
+ case 34: return DAMAGE_BONUS_34;
+ case 35: return DAMAGE_BONUS_35;
+ case 36: return DAMAGE_BONUS_36;
+ case 37: return DAMAGE_BONUS_37;
+ case 38: return DAMAGE_BONUS_38;
+ case 39: return DAMAGE_BONUS_39;
+ case 40: return DAMAGE_BONUS_40;
+ case 41: return DAMAGE_BONUS_41;
+ case 42: return DAMAGE_BONUS_42;
+ case 43: return DAMAGE_BONUS_43;
+ case 44: return DAMAGE_BONUS_44;
+ case 45: return DAMAGE_BONUS_45;
+ case 46: return DAMAGE_BONUS_46;
+ case 47: return DAMAGE_BONUS_47;
+ case 48: return DAMAGE_BONUS_48;
+ case 49: return DAMAGE_BONUS_49;
+ case 50: return DAMAGE_BONUS_50;
+
}
- if (nNumber>20)
+ if (nNumber>50)
{
- return DAMAGE_BONUS_20;
+ return DAMAGE_BONUS_50;
}
else
{
diff --git a/nwn/nwnprc/trunk/psionics/psi_pow_ctrlobj.nss b/nwn/nwnprc/trunk/psionics/psi_pow_ctrlobj.nss
index 3f5ffd80..cf164f3f 100644
--- a/nwn/nwnprc/trunk/psionics/psi_pow_ctrlobj.nss
+++ b/nwn/nwnprc/trunk/psionics/psi_pow_ctrlobj.nss
@@ -75,7 +75,37 @@ void ControlObject(object oManifester, object oItem, float fDuration)
int nInt = GetAbilityModifier(ABILITY_INTELLIGENCE, oManifester);
// Work around for the damage bonus
int nDam;
- if (nInt >= 20) nDam = DAMAGE_BONUS_20;
+ if (nInt >= 50) nDam = DAMAGE_BONUS_50;
+ else if (nInt == 49) nDam = DAMAGE_BONUS_49;
+ else if (nInt == 48) nDam = DAMAGE_BONUS_48;
+ else if (nInt == 47) nDam = DAMAGE_BONUS_47;
+ else if (nInt == 46) nDam = DAMAGE_BONUS_46;
+ else if (nInt == 45) nDam = DAMAGE_BONUS_45;
+ else if (nInt == 44) nDam = DAMAGE_BONUS_44;
+ else if (nInt == 43) nDam = DAMAGE_BONUS_43;
+ else if (nInt == 42) nDam = DAMAGE_BONUS_42;
+ else if (nInt == 41) nDam = DAMAGE_BONUS_41;
+ else if (nInt == 40) nDam = DAMAGE_BONUS_40;
+ else if (nInt == 39) nDam = DAMAGE_BONUS_39;
+ else if (nInt == 38) nDam = DAMAGE_BONUS_38;
+ else if (nInt == 37) nDam = DAMAGE_BONUS_37;
+ else if (nInt == 36) nDam = DAMAGE_BONUS_36;
+ else if (nInt == 35) nDam = DAMAGE_BONUS_35;
+ else if (nInt == 34) nDam = DAMAGE_BONUS_34;
+ else if (nInt == 33) nDam = DAMAGE_BONUS_33;
+ else if (nInt == 32) nDam = DAMAGE_BONUS_32;
+ else if (nInt == 31) nDam = DAMAGE_BONUS_31;
+ else if (nInt == 30) nDam = DAMAGE_BONUS_30;
+ else if (nInt == 29) nDam = DAMAGE_BONUS_29;
+ else if (nInt == 28) nDam = DAMAGE_BONUS_28;
+ else if (nInt == 27) nDam = DAMAGE_BONUS_27;
+ else if (nInt == 26) nDam = DAMAGE_BONUS_26;
+ else if (nInt == 25) nDam = DAMAGE_BONUS_25;
+ else if (nInt == 24) nDam = DAMAGE_BONUS_24;
+ else if (nInt == 23) nDam = DAMAGE_BONUS_23;
+ else if (nInt == 22) nDam = DAMAGE_BONUS_22;
+ else if (nInt == 21) nDam = DAMAGE_BONUS_21;
+ else if (nInt >= 20) nDam = DAMAGE_BONUS_20;
else if (nInt == 19) nDam = DAMAGE_BONUS_19;
else if (nInt == 18) nDam = DAMAGE_BONUS_18;
else if (nInt == 17) nDam = DAMAGE_BONUS_17;
diff --git a/nwn/nwnprc/trunk/scripts/ft_poweratk.nss b/nwn/nwnprc/trunk/scripts/ft_poweratk.nss
index 284d248b..1510c3d2 100644
--- a/nwn/nwnprc/trunk/scripts/ft_poweratk.nss
+++ b/nwn/nwnprc/trunk/scripts/ft_poweratk.nss
@@ -58,8 +58,38 @@ int BonusAtk(int nDmg)
case 18: return DAMAGE_BONUS_18;
case 19: return DAMAGE_BONUS_19;
case 20: return DAMAGE_BONUS_20;
+ case 21: return DAMAGE_BONUS_21;
+ case 22: return DAMAGE_BONUS_22;
+ case 23: return DAMAGE_BONUS_23;
+ case 24: return DAMAGE_BONUS_24;
+ case 25: return DAMAGE_BONUS_25;
+ case 26: return DAMAGE_BONUS_26;
+ case 27: return DAMAGE_BONUS_27;
+ case 28: return DAMAGE_BONUS_28;
+ case 29: return DAMAGE_BONUS_29;
+ case 30: return DAMAGE_BONUS_30;
+ case 31: return DAMAGE_BONUS_31;
+ case 32: return DAMAGE_BONUS_32;
+ case 33: return DAMAGE_BONUS_33;
+ case 34: return DAMAGE_BONUS_34;
+ case 35: return DAMAGE_BONUS_35;
+ case 36: return DAMAGE_BONUS_36;
+ case 37: return DAMAGE_BONUS_37;
+ case 38: return DAMAGE_BONUS_38;
+ case 39: return DAMAGE_BONUS_39;
+ case 40: return DAMAGE_BONUS_40;
+ case 41: return DAMAGE_BONUS_41;
+ case 42: return DAMAGE_BONUS_42;
+ case 43: return DAMAGE_BONUS_43;
+ case 44: return DAMAGE_BONUS_44;
+ case 45: return DAMAGE_BONUS_45;
+ case 46: return DAMAGE_BONUS_46;
+ case 47: return DAMAGE_BONUS_47;
+ case 48: return DAMAGE_BONUS_48;
+ case 49: return DAMAGE_BONUS_49;
+ case 50: return DAMAGE_BONUS_50;
}
- if(nDmg > 20) return DAMAGE_BONUS_20;
+ if(nDmg > 50) return DAMAGE_BONUS_50;
return -1; // Invalid value received
}
diff --git a/nwn/nwnprc/trunk/scripts/prc_knght_fight.nss b/nwn/nwnprc/trunk/scripts/prc_knght_fight.nss
index 9630ac0d..b2c3bd0a 100644
--- a/nwn/nwnprc/trunk/scripts/prc_knght_fight.nss
+++ b/nwn/nwnprc/trunk/scripts/prc_knght_fight.nss
@@ -13,6 +13,66 @@
#include "prc_class_const"
int GetIntToDamage(int nCheck)
+{
+ int nDam;
+
+ if (nCheck >= 50) nDam = DAMAGE_BONUS_50;
+ else if (nCheck == 49) nDam = DAMAGE_BONUS_49;
+ else if (nCheck == 48) nDam = DAMAGE_BONUS_48;
+ else if (nCheck == 47) nDam = DAMAGE_BONUS_47;
+ else if (nCheck == 46) nDam = DAMAGE_BONUS_46;
+ else if (nCheck == 45) nDam = DAMAGE_BONUS_45;
+ else if (nCheck == 44) nDam = DAMAGE_BONUS_44;
+ else if (nCheck == 43) nDam = DAMAGE_BONUS_43;
+ else if (nCheck == 42) nDam = DAMAGE_BONUS_42;
+ else if (nCheck == 41) nDam = DAMAGE_BONUS_41;
+ else if (nCheck == 40) nDam = DAMAGE_BONUS_40;
+ else if (nCheck == 39) nDam = DAMAGE_BONUS_39;
+ else if (nCheck == 38) nDam = DAMAGE_BONUS_38;
+ else if (nCheck == 37) nDam = DAMAGE_BONUS_37;
+ else if (nCheck == 36) nDam = DAMAGE_BONUS_36;
+ else if (nCheck == 35) nDam = DAMAGE_BONUS_35;
+ else if (nCheck == 34) nDam = DAMAGE_BONUS_34;
+ else if (nCheck == 33) nDam = DAMAGE_BONUS_33;
+ else if (nCheck == 32) nDam = DAMAGE_BONUS_32;
+ else if (nCheck == 31) nDam = DAMAGE_BONUS_31;
+ else if (nCheck == 30) nDam = DAMAGE_BONUS_30;
+ else if (nCheck == 29) nDam = DAMAGE_BONUS_29;
+ else if (nCheck == 28) nDam = DAMAGE_BONUS_28;
+ else if (nCheck == 27) nDam = DAMAGE_BONUS_27;
+ else if (nCheck == 26) nDam = DAMAGE_BONUS_26;
+ else if (nCheck == 25) nDam = DAMAGE_BONUS_25;
+ else if (nCheck == 24) nDam = DAMAGE_BONUS_24;
+ else if (nCheck == 23) nDam = DAMAGE_BONUS_23;
+ else if (nCheck == 22) nDam = DAMAGE_BONUS_22;
+ else if (nCheck == 21) nDam = DAMAGE_BONUS_21;
+ else if (nCheck >= 20) nDam = DAMAGE_BONUS_20;
+ else if (nCheck == 19) nDam = DAMAGE_BONUS_19;
+ else if (nCheck == 18) nDam = DAMAGE_BONUS_18;
+ else if (nCheck == 17) nDam = DAMAGE_BONUS_17;
+ else if (nCheck == 16) nDam = DAMAGE_BONUS_16;
+ else if (nCheck == 15) nDam = DAMAGE_BONUS_15;
+ else if (nCheck == 14) nDam = DAMAGE_BONUS_14;
+ else if (nCheck == 13) nDam = DAMAGE_BONUS_13;
+ else if (nCheck == 12) nDam = DAMAGE_BONUS_12;
+ else if (nCheck == 11) nDam = DAMAGE_BONUS_11;
+ else if (nCheck == 10) nDam = DAMAGE_BONUS_10;
+ else if (nCheck == 9) nDam = DAMAGE_BONUS_9;
+ else if (nCheck == 8) nDam = DAMAGE_BONUS_8;
+ else if (nCheck == 7) nDam = DAMAGE_BONUS_7;
+ else if (nCheck == 6) nDam = DAMAGE_BONUS_6;
+ else if (nCheck == 5) nDam = DAMAGE_BONUS_5;
+ else if (nCheck == 4) nDam = DAMAGE_BONUS_4;
+ else if (nCheck == 3) nDam = DAMAGE_BONUS_3;
+ else if (nCheck == 2) nDam = DAMAGE_BONUS_2;
+ else if (nCheck == 1) nDam = DAMAGE_BONUS_1;
+ // Null line in the 2da
+ else nDam = 0;
+
+ return nDam;
+}
+
+/* int GetIntToDamage(int nCheck)
{
int IntToDam = -1;
@@ -99,7 +159,7 @@ int GetIntToDamage(int nCheck)
return IntToDam;
}
-
+ */
void main()
{
//Declare main variables.
diff --git a/nwn/nwnprc/trunk/scripts/prc_shft_effap.nss b/nwn/nwnprc/trunk/scripts/prc_shft_effap.nss
index 1f00c163..84ceb0b5 100644
--- a/nwn/nwnprc/trunk/scripts/prc_shft_effap.nss
+++ b/nwn/nwnprc/trunk/scripts/prc_shft_effap.nss
@@ -111,7 +111,37 @@ void main()
case 17: nDamageBonusConstant = DAMAGE_BONUS_17; break;
case 18: nDamageBonusConstant = DAMAGE_BONUS_18; break;
case 19: nDamageBonusConstant = DAMAGE_BONUS_19; break;
- default: nDamageBonusConstant = DAMAGE_BONUS_20; // The value is >= 20, the bonus limit is +20
+ case 20: nDamageBonusConstant = DAMAGE_BONUS_20; break;
+ case 21: nDamageBonusConstant = DAMAGE_BONUS_21; break;
+ case 22: nDamageBonusConstant = DAMAGE_BONUS_22; break;
+ case 23: nDamageBonusConstant = DAMAGE_BONUS_23; break;
+ case 24: nDamageBonusConstant = DAMAGE_BONUS_24; break;
+ case 25: nDamageBonusConstant = DAMAGE_BONUS_25; break;
+ case 26: nDamageBonusConstant = DAMAGE_BONUS_26; break;
+ case 27: nDamageBonusConstant = DAMAGE_BONUS_27; break;
+ case 28: nDamageBonusConstant = DAMAGE_BONUS_28; break;
+ case 29: nDamageBonusConstant = DAMAGE_BONUS_29; break;
+ case 30: nDamageBonusConstant = DAMAGE_BONUS_30; break;
+ case 31: nDamageBonusConstant = DAMAGE_BONUS_31; break;
+ case 32: nDamageBonusConstant = DAMAGE_BONUS_32; break;
+ case 33: nDamageBonusConstant = DAMAGE_BONUS_33; break;
+ case 34: nDamageBonusConstant = DAMAGE_BONUS_34; break;
+ case 35: nDamageBonusConstant = DAMAGE_BONUS_35; break;
+ case 36: nDamageBonusConstant = DAMAGE_BONUS_36; break;
+ case 37: nDamageBonusConstant = DAMAGE_BONUS_37; break;
+ case 38: nDamageBonusConstant = DAMAGE_BONUS_38; break;
+ case 39: nDamageBonusConstant = DAMAGE_BONUS_39; break;
+ case 40: nDamageBonusConstant = DAMAGE_BONUS_40; break;
+ case 41: nDamageBonusConstant = DAMAGE_BONUS_41; break;
+ case 42: nDamageBonusConstant = DAMAGE_BONUS_42; break;
+ case 43: nDamageBonusConstant = DAMAGE_BONUS_43; break;
+ case 44: nDamageBonusConstant = DAMAGE_BONUS_44; break;
+ case 45: nDamageBonusConstant = DAMAGE_BONUS_45; break;
+ case 46: nDamageBonusConstant = DAMAGE_BONUS_46; break;
+ case 47: nDamageBonusConstant = DAMAGE_BONUS_47; break;
+ case 48: nDamageBonusConstant = DAMAGE_BONUS_48; break;
+ case 49: nDamageBonusConstant = DAMAGE_BONUS_49; break;
+ default: nDamageBonusConstant = DAMAGE_BONUS_50; // The value is >= 50
}
DelayApplyEffectToObject(0.0f, PRC_Shifter_ApplyEffects_Generation, DURATION_TYPE_PERMANENT, SupernaturalEffect(EffectDamageIncrease(nDamageBonusConstant, nSTR_DamageType)), oShifter);
}
diff --git a/nwn/nwnprc/trunk/spells/sp_foresight.nss b/nwn/nwnprc/trunk/spells/sp_foresight.nss
index 592bc821..2c789ce9 100644
--- a/nwn/nwnprc/trunk/spells/sp_foresight.nss
+++ b/nwn/nwnprc/trunk/spells/sp_foresight.nss
@@ -46,13 +46,15 @@ void main()
fDur += fDur;
}
- itemproperty iDodge = PRCItemPropertyBonusFeat(FEAT_UNCANNY_DODGE_1);
+ //itemproperty iDodge = PRCItemPropertyBonusFeat(FEAT_UNCANNY_DODGE_1);
+ effect eDodge = EffectBonusFeat(FEAT_UNCANNY_DODGE_1);
effect eLink = EffectLinkEffects(EffectImmunity(IMMUNITY_TYPE_SNEAK_ATTACK), EffectACIncrease(2, AC_DODGE_BONUS, AC_VS_DAMAGE_TYPE_ALL));
eLink = EffectLinkEffects(eLink, EffectSavingThrowIncrease(SAVING_THROW_REFLEX, 2, SAVING_THROW_TYPE_ALL));
+ eLink = EffectLinkEffects(eLink, eDodge);
object oArmor = GetItemInSlot(INVENTORY_SLOT_CHEST, oPC);
SPApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oPC, fDur);
- IPSafeAddItemProperty(oArmor, iDodge, fDur);
+ //IPSafeAddItemProperty(oArmor, iDodge, fDur);
PRCSetSchool();
}
diff --git a/nwn/nwnprc/trunk/tlk/prc8_consortium.tlk b/nwn/nwnprc/trunk/tlk/prc8_consortium.tlk
index 55be67a6..d8d9dd4f 100644
Binary files a/nwn/nwnprc/trunk/tlk/prc8_consortium.tlk and b/nwn/nwnprc/trunk/tlk/prc8_consortium.tlk differ
diff --git a/nwn/nwnprc/trunk/tlk/prc8_consortium.tlk.xml b/nwn/nwnprc/trunk/tlk/prc8_consortium.tlk.xml
index 6ad18b4e..de40e900 100644
--- a/nwn/nwnprc/trunk/tlk/prc8_consortium.tlk.xml
+++ b/nwn/nwnprc/trunk/tlk/prc8_consortium.tlk.xml
@@ -73152,6 +73152,69 @@ Special Abilities:
Sorcerous Casting: Hobgoblin Warsoul's cast spells as a Sorcerer of their hit dice (10th level).
<cÿÿÿ>Pick a spellcasting feat (1st lvl)</c>
Choose which spellcasting class to advance with the currently selected Prestige Class. If you try take a marker feat after 1st class level, you will be releveled.
+ ## iprp_damagecost.2da expansion ##
+ 21 Damage
+ +21
+ 22 Damage
+ +22
+ 23 Damage
+ +23
+ 24 Damage
+ +24
+
+ 25 Damage
+ +25
+ 26 Damage
+ +26
+ 27 Damage
+ +27
+ 28 Damage
+ +28
+ 29 Damage
+ +29
+ 30 damage
+ +30
+ 31 Damage
+ +31
+ 32 Damage
+
+ +32
+ 33 Damage
+ +33
+ 34 Damage
+ +34
+ 35 Damage
+ +35
+ 36 Damage
+ +36
+ 37 Damage
+ +37
+ 38 Damage
+ +38
+ 39 Damage
+ +39
+ 40 Damage
+ +40
+ 41 Damage
+ +41
+ 42 Damage
+ +42
+ 43 Damage
+ +43
+ 44 Damage
+ +44
+ 45 Damage
+ +45
+ 46 Damage
+ +46
+ 47 Damage
+ +47
+ 48 Damage
+ +48
+ 49 Damage
+ +49
+ 50 Damage
+ +50
#PRC8 RESERVED#
#START PRC8 MATERIAL RESERVE#
Paper
diff --git a/nwn/nwnprc/trunk/tlk/prc_consortium.tlk b/nwn/nwnprc/trunk/tlk/prc_consortium.tlk
index 55be67a6..d8d9dd4f 100644
Binary files a/nwn/nwnprc/trunk/tlk/prc_consortium.tlk and b/nwn/nwnprc/trunk/tlk/prc_consortium.tlk differ