Cinco De Mayo Update
Warforged Scouts can take Warforged Juggernaut. Updated PRC8 version number. FEAT_EXTRA_GRANTED_MANEUVER is for Crusaders, not Swordsages. FEAT_EXTRA_GRANTED_MANEUVER now shows all 5 granted maneuvers after 19th lvl. Mirror Image onCastAt script now uses PRCGetCasterLevel() Summon Hamatula now uses PRCGetCasterLevel() Spiritual Weapon now uses PRCGetCasterLevel() Heal & Harm now SignalEvent on placeables. DEITY$ only knows how many modules this broke. Updated human readable changelog. Added current list of PRC8 additions.
This commit is contained in:
@@ -3,8 +3,9 @@
|
||||
LABEL ReqType ReqParam1 ReqParam2
|
||||
0 Warforged RACE 149 ****
|
||||
1 WarforgedCharger RACE 145 ****
|
||||
2 ScriptVar VAR PRC_AllowJuggernaut 0
|
||||
3 Base_Attack BAB 5 ****
|
||||
4 AdamantineBody_WarForged FEAT 4781 ****
|
||||
5 PowerAtk FEAT 28 ****
|
||||
6 ImprovedBullrush FEAT 2806 ****
|
||||
2 WarforgedScout RACE 144 ****
|
||||
3 ScriptVar VAR PRC_AllowJuggernaut 0
|
||||
4 Base_Attack BAB 5 ****
|
||||
5 AdamantineBody_WarForged FEAT 4781 ****
|
||||
6 PowerAtk FEAT 28 ****
|
||||
7 ImprovedBullrush FEAT 2806 ****
|
||||
|
||||
@@ -1066,7 +1066,7 @@ void spellsDispelAoE(object oTargetAoE, object oCaster, int nCasterLevel)
|
||||
}
|
||||
|
||||
|
||||
nChance += ((nCasterLevel + (GetAbilityScoreForClass(nClassCaster, oCaster)-10)/2) - (GetCasterLevel(oCreator))); // yes this is a sucky stupid hack
|
||||
nChance += ((nCasterLevel + (GetAbilityScoreForClass(nClassCaster, oCaster)-10)/2) - (PRCGetCasterLevel(oCreator))); // yes this is a sucky stupid hack
|
||||
|
||||
//--------------------------------------------------------------------------
|
||||
// the AI does cheat here, because it can not react as well as a player to
|
||||
|
||||
@@ -76,7 +76,7 @@
|
||||
|
||||
/* This variable MUST be updated with every new version of the PRC!!! */
|
||||
|
||||
const string PRC_VERSION = "PRC8 4.89";
|
||||
const string PRC_VERSION = "PRC8 4.91";
|
||||
|
||||
/* This variable MUST be updated every time 'assemble_spellbooks.bat' is run!!! */
|
||||
|
||||
|
||||
@@ -251,7 +251,7 @@ int GetMaxReadiedCount(object oPC, int nList)
|
||||
int nMaxReadied = StringToInt(Get2DACache(GetAMSKnownFileName(nList), "ManeuversReadied", nLevel-1));
|
||||
// Add in the custom modifier
|
||||
nMaxReadied += GetReadiedManeuversModifier(oPC, nList);
|
||||
if(nList == MANEUVER_LIST_SWORDSAGE)
|
||||
if(nList == MANEUVER_LIST_CRUSADER)
|
||||
nMaxReadied += GetHasFeat(FEAT_EXTRA_GRANTED_MANEUVER, oPC);
|
||||
|
||||
if(DEBUG) DoDebug("tob_inc_recovery: MaxManeuvers Readied: " +IntToString(nMaxReadied));
|
||||
@@ -398,16 +398,30 @@ void GrantRandomManeuver(object oPC, int nList = MANEUVER_LIST_CRUSADER)
|
||||
SetLocalInt(oPC, "ManeuverGranted" + IntToString(i), nMoveId);
|
||||
}
|
||||
|
||||
void ListGrantedManeuvers(object oPC)
|
||||
void ListGrantedManeuvers(object oPC)
|
||||
{
|
||||
int i;
|
||||
int nMaxGranted = StringToInt(Get2DACache(GetAMSKnownFileName(MANEUVER_LIST_CRUSADER), "ManeuversGranted", GetLevelByClass(CLASS_TYPE_CRUSADER, oPC)-1));
|
||||
nMaxGranted += GetHasFeat(FEAT_EXTRA_GRANTED_MANEUVER, oPC);
|
||||
|
||||
for(i = 1; i <= nMaxGranted; i++)
|
||||
{
|
||||
int nMoveId = GetLocalInt(oPC, "ManeuverGranted" + IntToString(i));
|
||||
int nExpended = GetIsManeuverExpended(oPC, MANEUVER_LIST_CRUSADER, nMoveId);
|
||||
if (nMoveId > 0 && !nExpended) FloatingTextStringOnCreature(GetManeuverName(nMoveId) + " is granted", oPC, FALSE);
|
||||
}
|
||||
}
|
||||
|
||||
/* void ListGrantedManeuvers(object oPC)
|
||||
{
|
||||
int i;
|
||||
for(i = 1; i <= 4; i++)
|
||||
for(i = 1; i <= 5; i++)
|
||||
{
|
||||
int nMoveId = GetLocalInt(oPC, "ManeuverGranted" + IntToString(i));
|
||||
int nExpended = GetIsManeuverExpended(oPC, MANEUVER_LIST_CRUSADER, nMoveId);
|
||||
if (nMoveId > 0 && !nExpended) FloatingTextStringOnCreature(GetManeuverName(nMoveId) + " is granted", oPC, FALSE);
|
||||
}
|
||||
}
|
||||
} */
|
||||
|
||||
void GrantManeuvers(object oPC, int nList = MANEUVER_LIST_CRUSADER)
|
||||
{
|
||||
|
||||
@@ -7,7 +7,7 @@ void main()
|
||||
|
||||
// Get the caster of the potential dispel
|
||||
object oCaster = GetLastSpellCaster();
|
||||
int nCasterLevel = GetCasterLevel(oCaster);
|
||||
int nCasterLevel = PRCGetCasterLevel(oCaster);
|
||||
|
||||
if(DEBUG) DoDebug("mirror_image_sa: EVENT_NPC_ONSPELLCASTAT triggered.");
|
||||
|
||||
@@ -33,10 +33,10 @@ void main()
|
||||
// Ensure oOriginalCaster is valid
|
||||
if (GetIsObjectValid(oOriginalCaster))
|
||||
{
|
||||
if(DEBUG) DoDebug("mirror_image_sa: Original caster found. Caster level: " + IntToString(GetCasterLevel(oOriginalCaster)));
|
||||
if(DEBUG) DoDebug("mirror_image_sa: Original caster found. Caster level: " + IntToString(PRCGetCasterLevel(oOriginalCaster)));
|
||||
|
||||
// Determine the DC for the dispel check
|
||||
int nDispelDC = 11 + GetCasterLevel(oOriginalCaster);
|
||||
int nDispelDC = 11 + PRCGetCasterLevel(oOriginalCaster);
|
||||
if(DEBUG) DoDebug("mirror_image_sa: Dispel DC: " + IntToString(nDispelDC));
|
||||
|
||||
// Determine the maximum cap for the dispel check
|
||||
|
||||
@@ -17,7 +17,7 @@ void main()
|
||||
{
|
||||
//Declare major variables
|
||||
int nMetaMagic = PRCGetMetaMagicFeat();
|
||||
int nDuration = GetCasterLevel(OBJECT_SELF);
|
||||
int nDuration = PRCGetCasterLevel(OBJECT_SELF);
|
||||
object oPC = OBJECT_SELF;
|
||||
effect eSummon = EffectSummonCreature("NW_DMVROCK");
|
||||
if(GetPRCSwitch(MARKER_PRC_COMPANION))
|
||||
|
||||
@@ -83,6 +83,12 @@ int DoSpell(object oCaster, object oTarget, int nSpellID)
|
||||
{
|
||||
if(bMass) fDelay = PRCGetRandomDelay();
|
||||
int iTombTainted = GetHasFeat(FEAT_TOMB_TAINTED_SOUL, oTarget) && GetAlignmentGoodEvil(oTarget) != ALIGNMENT_GOOD;
|
||||
|
||||
// Signal placeables even if they're not creatures
|
||||
if(GetObjectType(oTarget) == OBJECT_TYPE_PLACEABLE)
|
||||
{
|
||||
SignalEvent(oTarget, EventSpellCastAt(oCaster, nSpellID, FALSE));
|
||||
}
|
||||
|
||||
iHeal = GetObjectType(oTarget) == OBJECT_TYPE_CREATURE &&
|
||||
((!bIsHeal && (MyPRCGetRacialType(oTarget) == RACIAL_TYPE_UNDEAD || iTombTainted)) ||
|
||||
|
||||
@@ -83,7 +83,7 @@ void main()
|
||||
{
|
||||
// Get the caster of the spell
|
||||
object oCaster = GetLastSpellCaster();
|
||||
int nCasterLevel = GetCasterLevel(oCaster);
|
||||
int nCasterLevel = PRCGetCasterLevel(oCaster);
|
||||
|
||||
if(DEBUG) DoDebug("sp_spiritweapon: EVENT_NPC_ONSPELLCASTAT triggered.");
|
||||
|
||||
|
||||
Reference in New Issue
Block a user