2025/05/03 Bugfixes
Added Exotic weapon profs to fighter bonus feats. Fixed possession bug in inc_persist_loc.nss. Added Fochlucan Lyrist to divine classes in prc_inc_castlvl.nss Cleaned up Owl's Insight.
This commit is contained in:
parent
36120f5dd6
commit
5d82529b9d
File diff suppressed because it is too large
Load Diff
@ -251,10 +251,9 @@ object GetHideToken(object oPC, int bAMS = FALSE)
|
||||
return oToken;
|
||||
}
|
||||
|
||||
|
||||
void SetPersistantLocalString(object oPC, string sName, string sValue)
|
||||
{
|
||||
if(GetIsPC(oPC))
|
||||
if(GetIsPC(oPC) == TRUE && GetMaster(oPC) == OBJECT_INVALID && !GetIsDMPossessed(oPC))
|
||||
{
|
||||
SQLocalsPlayer_SetString(oPC, sName, sValue);
|
||||
}
|
||||
@ -264,9 +263,21 @@ void SetPersistantLocalString(object oPC, string sName, string sValue)
|
||||
}
|
||||
}
|
||||
|
||||
void SetPersistantLocalInt(object oPC, string sName, int nValue)
|
||||
/* void SetPersistantLocalString(object oPC, string sName, string sValue)
|
||||
{
|
||||
if(GetIsPC(oPC))
|
||||
{
|
||||
SQLocalsPlayer_SetString(oPC, sName, sValue);
|
||||
}
|
||||
else
|
||||
{
|
||||
SetLocalString(oPC, sName, sValue);
|
||||
}
|
||||
} */
|
||||
|
||||
void SetPersistantLocalInt(object oPC, string sName, int nValue)
|
||||
{
|
||||
if(GetIsPC(oPC) == TRUE && GetMaster(oPC) == OBJECT_INVALID && !GetIsDMPossessed(oPC))
|
||||
{
|
||||
SQLocalsPlayer_SetInt(oPC, sName, nValue);
|
||||
}
|
||||
@ -278,7 +289,7 @@ void SetPersistantLocalInt(object oPC, string sName, int nValue)
|
||||
|
||||
void SetPersistantLocalFloat(object oPC, string sName, float fValue)
|
||||
{
|
||||
if(GetIsPC(oPC))
|
||||
if(GetIsPC(oPC) == TRUE && GetMaster(oPC) == OBJECT_INVALID && !GetIsDMPossessed(oPC))
|
||||
{
|
||||
SQLocalsPlayer_SetFloat(oPC, sName, fValue);
|
||||
}
|
||||
@ -290,7 +301,7 @@ void SetPersistantLocalFloat(object oPC, string sName, float fValue)
|
||||
|
||||
void SetPersistantLocalLocation(object oPC, string sName, location lValue)
|
||||
{
|
||||
if(GetIsPC(oPC))
|
||||
if(GetIsPC(oPC) == TRUE && GetMaster(oPC) == OBJECT_INVALID && !GetIsDMPossessed(oPC))
|
||||
{
|
||||
SQLocalsPlayer_SetLocation(oPC, sName, lValue);
|
||||
}
|
||||
@ -302,7 +313,7 @@ void SetPersistantLocalLocation(object oPC, string sName, location lValue)
|
||||
|
||||
void SetPersistantLocalObject(object oPC, string sName, object oValue)
|
||||
{
|
||||
if(GetIsPC(oPC))
|
||||
if(GetIsPC(oPC) == TRUE && GetMaster(oPC) == OBJECT_INVALID && !GetIsDMPossessed(oPC))
|
||||
{
|
||||
SQLocalsPlayer_SetObject(oPC, sName, oValue);
|
||||
}
|
||||
@ -314,7 +325,7 @@ void SetPersistantLocalObject(object oPC, string sName, object oValue)
|
||||
|
||||
string GetPersistantLocalString(object oPC, string sName)
|
||||
{
|
||||
if(GetIsPC(oPC))
|
||||
if(GetIsPC(oPC) == TRUE && GetMaster(oPC) == OBJECT_INVALID && !GetIsDMPossessed(oPC))
|
||||
{
|
||||
return SQLocalsPlayer_GetString(oPC, sName);
|
||||
}
|
||||
@ -323,7 +334,7 @@ string GetPersistantLocalString(object oPC, string sName)
|
||||
|
||||
int GetPersistantLocalInt(object oPC, string sName)
|
||||
{
|
||||
if(GetIsPC(oPC))
|
||||
if(GetIsPC(oPC) == TRUE && GetMaster(oPC) == OBJECT_INVALID && !GetIsDMPossessed(oPC))
|
||||
{
|
||||
return SQLocalsPlayer_GetInt(oPC, sName);
|
||||
}
|
||||
@ -332,7 +343,7 @@ int GetPersistantLocalInt(object oPC, string sName)
|
||||
|
||||
float GetPersistantLocalFloat(object oPC, string sName)
|
||||
{
|
||||
if(GetIsPC(oPC))
|
||||
if(GetIsPC(oPC) == TRUE && GetMaster(oPC) == OBJECT_INVALID && !GetIsDMPossessed(oPC))
|
||||
{
|
||||
return SQLocalsPlayer_GetFloat(oPC, sName);
|
||||
}
|
||||
@ -341,7 +352,7 @@ float GetPersistantLocalFloat(object oPC, string sName)
|
||||
|
||||
location GetPersistantLocalLocation(object oPC, string sName)
|
||||
{
|
||||
if(GetIsPC(oPC))
|
||||
if(GetIsPC(oPC) == TRUE && GetMaster(oPC) == OBJECT_INVALID && !GetIsDMPossessed(oPC))
|
||||
{
|
||||
return SQLocalsPlayer_GetLocation(oPC, sName);
|
||||
}
|
||||
@ -350,7 +361,7 @@ location GetPersistantLocalLocation(object oPC, string sName)
|
||||
|
||||
object GetPersistantLocalObject(object oPC, string sName)
|
||||
{
|
||||
if(GetIsPC(oPC))
|
||||
if(GetIsPC(oPC) == TRUE && GetMaster(oPC) == OBJECT_INVALID && !GetIsDMPossessed(oPC))
|
||||
{
|
||||
// Additional check since the OID returned may be invalid, but not actually OBJECT_INVALID
|
||||
object oReturn = SQLocalsPlayer_GetObject(oPC, sName);
|
||||
@ -362,7 +373,7 @@ object GetPersistantLocalObject(object oPC, string sName)
|
||||
|
||||
void DeletePersistantLocalString(object oPC, string sName)
|
||||
{
|
||||
if(GetIsPC(oPC))
|
||||
if(GetIsPC(oPC) == TRUE && GetMaster(oPC) == OBJECT_INVALID && !GetIsDMPossessed(oPC))
|
||||
{
|
||||
SQLocalsPlayer_DeleteString(oPC, sName);
|
||||
}
|
||||
@ -374,7 +385,7 @@ void DeletePersistantLocalString(object oPC, string sName)
|
||||
|
||||
void DeletePersistantLocalInt(object oPC, string sName)
|
||||
{
|
||||
if(GetIsPC(oPC))
|
||||
if(GetIsPC(oPC) == TRUE && GetMaster(oPC) == OBJECT_INVALID && !GetIsDMPossessed(oPC))
|
||||
{
|
||||
SQLocalsPlayer_DeleteInt(oPC, sName);
|
||||
}
|
||||
@ -386,7 +397,7 @@ void DeletePersistantLocalInt(object oPC, string sName)
|
||||
|
||||
void DeletePersistantLocalFloat(object oPC, string sName)
|
||||
{
|
||||
if(GetIsPC(oPC))
|
||||
if(GetIsPC(oPC) == TRUE && GetMaster(oPC) == OBJECT_INVALID && !GetIsDMPossessed(oPC))
|
||||
{
|
||||
SQLocalsPlayer_DeleteFloat(oPC, sName);
|
||||
}
|
||||
@ -398,7 +409,7 @@ void DeletePersistantLocalFloat(object oPC, string sName)
|
||||
|
||||
void DeletePersistantLocalLocation(object oPC, string sName)
|
||||
{
|
||||
if(GetIsPC(oPC))
|
||||
if(GetIsPC(oPC) == TRUE && GetMaster(oPC) == OBJECT_INVALID && !GetIsDMPossessed(oPC))
|
||||
{
|
||||
SQLocalsPlayer_DeleteLocation(oPC, sName);
|
||||
}
|
||||
@ -410,7 +421,7 @@ void DeletePersistantLocalLocation(object oPC, string sName)
|
||||
|
||||
void DeletePersistantLocalObject(object oPC, string sName)
|
||||
{
|
||||
if(GetIsPC(oPC))
|
||||
if(GetIsPC(oPC) == TRUE && GetMaster(oPC) == OBJECT_INVALID && !GetIsDMPossessed(oPC))
|
||||
{
|
||||
SQLocalsPlayer_DeleteObject(oPC, sName);
|
||||
}
|
||||
|
@ -3799,6 +3799,9 @@ int GetDivinePRCLevels(object oCaster, int nCastingClass = CLASS_TYPE_INVALID)
|
||||
if(GetHasFeat(FEAT_ELDISCIPLE_SPELLCASTING_ARCHIVIST, oCaster))
|
||||
nDivine += GetLevelByClass(CLASS_TYPE_ELDRITCH_DISCIPLE, oCaster);
|
||||
|
||||
if(GetHasFeat(FEAT_FOCHLUCAN_LYRIST_SPELLCASTING_ARCHIVIST, oCaster))
|
||||
nDivine += GetLevelByClass(CLASS_TYPE_FOCHLUCAN_LYRIST, oCaster);
|
||||
|
||||
if(GetHasFeat(FEAT_FORESTMASTER_SPELLCASTING_ARCHIVIST, oCaster))
|
||||
nDivine += GetLevelByClass(CLASS_TYPE_FORESTMASTER, oCaster);
|
||||
|
||||
@ -3903,6 +3906,9 @@ int GetDivinePRCLevels(object oCaster, int nCastingClass = CLASS_TYPE_INVALID)
|
||||
if(GetHasFeat(FEAT_ELDISCIPLE_SPELLCASTING_BLACKGUARD, oCaster))
|
||||
nDivine += GetLevelByClass(CLASS_TYPE_ELDRITCH_DISCIPLE, oCaster);
|
||||
|
||||
if(GetHasFeat(FEAT_FOCHLUCAN_LYRIST_SPELLCASTING_BLACKGUARD, oCaster))
|
||||
nDivine += GetLevelByClass(CLASS_TYPE_FOCHLUCAN_LYRIST, oCaster);
|
||||
|
||||
/* if(GetHasFeat(FEAT_FORESTMASTER_SPELLCASTING_BLACKGUARD, oCaster))
|
||||
nDivine += GetLevelByClass(CLASS_TYPE_FORESTMASTER, oCaster);
|
||||
|
||||
@ -4008,7 +4014,10 @@ int GetDivinePRCLevels(object oCaster, int nCastingClass = CLASS_TYPE_INVALID)
|
||||
nDivine += GetLevelByClass(CLASS_TYPE_CONTEMPLATIVE, oCaster);
|
||||
|
||||
if(GetHasFeat(FEAT_ELDISCIPLE_SPELLCASTING_BLIGHTER, oCaster))
|
||||
nDivine += GetLevelByClass(CLASS_TYPE_ELDRITCH_DISCIPLE, oCaster);
|
||||
nDivine += GetLevelByClass(CLASS_TYPE_ELDRITCH_DISCIPLE, oCaster);
|
||||
|
||||
if(GetHasFeat(FEAT_FOCHLUCAN_LYRIST_SPELLCASTING_BLIGHTER, oCaster))
|
||||
nDivine += GetLevelByClass(CLASS_TYPE_FOCHLUCAN_LYRIST, oCaster);
|
||||
|
||||
/* if(GetHasFeat(FEAT_FORESTMASTER_SPELLCASTING_BLIGHTER, oCaster))
|
||||
nDivine += GetLevelByClass(CLASS_TYPE_FORESTMASTER, oCaster); */
|
||||
@ -4116,7 +4125,10 @@ int GetDivinePRCLevels(object oCaster, int nCastingClass = CLASS_TYPE_INVALID)
|
||||
nDivine += GetLevelByClass(CLASS_TYPE_CONTEMPLATIVE, oCaster);
|
||||
|
||||
if(GetHasFeat(FEAT_ELDISCIPLE_SPELLCASTING_CLERIC, oCaster))
|
||||
nDivine += GetLevelByClass(CLASS_TYPE_ELDRITCH_DISCIPLE, oCaster);
|
||||
nDivine += GetLevelByClass(CLASS_TYPE_ELDRITCH_DISCIPLE, oCaster);
|
||||
|
||||
if(GetHasFeat(FEAT_FOCHLUCAN_LYRIST_SPELLCASTING_CLERIC, oCaster))
|
||||
nDivine += GetLevelByClass(CLASS_TYPE_FOCHLUCAN_LYRIST, oCaster);
|
||||
|
||||
if(GetHasFeat(FEAT_FORESTMASTER_SPELLCASTING_CLERIC, oCaster))
|
||||
nDivine += GetLevelByClass(CLASS_TYPE_FORESTMASTER, oCaster);
|
||||
@ -4227,6 +4239,9 @@ int GetDivinePRCLevels(object oCaster, int nCastingClass = CLASS_TYPE_INVALID)
|
||||
|
||||
if(GetHasFeat(FEAT_FORESTMASTER_SPELLCASTING_DRUID, oCaster))
|
||||
nDivine += GetLevelByClass(CLASS_TYPE_FORESTMASTER, oCaster);
|
||||
|
||||
if(GetHasFeat(FEAT_FOCHLUCAN_LYRIST_SPELLCASTING_DRUID, oCaster))
|
||||
nDivine += GetLevelByClass(CLASS_TYPE_FOCHLUCAN_LYRIST, oCaster);
|
||||
|
||||
/* if(GetHasFeat(FEAT_FISTRAZIEL_SPELLCASTING_DRUID, oCaster))
|
||||
nDivine += GetLevelByClass(CLASS_TYPE_FISTRAZIEL, oCaster);
|
||||
@ -4334,6 +4349,9 @@ int GetDivinePRCLevels(object oCaster, int nCastingClass = CLASS_TYPE_INVALID)
|
||||
if(GetHasFeat(FEAT_ELDISCIPLE_SPELLCASTING_FAVOURED_SOUL, oCaster))
|
||||
nDivine += GetLevelByClass(CLASS_TYPE_ELDRITCH_DISCIPLE, oCaster);
|
||||
|
||||
if(GetHasFeat(FEAT_FOCHLUCAN_LYRIST_SPELLCASTING_FAVOURED_SOUL, oCaster))
|
||||
nDivine += GetLevelByClass(CLASS_TYPE_FOCHLUCAN_LYRIST, oCaster);
|
||||
|
||||
if(GetHasFeat(FEAT_FORESTMASTER_SPELLCASTING_FAVOURED_SOUL, oCaster))
|
||||
nDivine += GetLevelByClass(CLASS_TYPE_FORESTMASTER, oCaster);
|
||||
|
||||
@ -4438,6 +4456,9 @@ int GetDivinePRCLevels(object oCaster, int nCastingClass = CLASS_TYPE_INVALID)
|
||||
if(GetHasFeat(FEAT_ELDISCIPLE_SPELLCASTING_HEALER, oCaster))
|
||||
nDivine += GetLevelByClass(CLASS_TYPE_ELDRITCH_DISCIPLE, oCaster);
|
||||
|
||||
if(GetHasFeat(FEAT_FOCHLUCAN_LYRIST_SPELLCASTING_HEALER, oCaster))
|
||||
nDivine += GetLevelByClass(CLASS_TYPE_FOCHLUCAN_LYRIST, oCaster);
|
||||
|
||||
// if(GetHasFeat(FEAT_FORESTMASTER_SPELLCASTING_HEALER, oCaster))
|
||||
// nDivine += GetLevelByClass(CLASS_TYPE_FORESTMASTER, oCaster);
|
||||
|
||||
@ -4547,6 +4568,9 @@ int GetDivinePRCLevels(object oCaster, int nCastingClass = CLASS_TYPE_INVALID)
|
||||
|
||||
/* if(GetHasFeat(FEAT_FISTRAZIEL_SPELLCASTING_JUSTICEWW, oCaster))
|
||||
nDivine += GetLevelByClass(CLASS_TYPE_FISTRAZIEL, oCaster); */
|
||||
|
||||
if(GetHasFeat(FEAT_FOCHLUCAN_LYRIST_SPELLCASTING_JUSTICEWW, oCaster))
|
||||
nDivine += GetLevelByClass(CLASS_TYPE_FOCHLUCAN_LYRIST, oCaster);
|
||||
|
||||
if(GetHasFeat(FEAT_HEARTWARDER_SPELLCASTING_JUSTICEWW, oCaster))
|
||||
nDivine += GetLevelByClass(CLASS_TYPE_HEARTWARDER, oCaster);
|
||||
@ -4650,6 +4674,9 @@ int GetDivinePRCLevels(object oCaster, int nCastingClass = CLASS_TYPE_INVALID)
|
||||
|
||||
if(GetHasFeat(FEAT_FISTRAZIEL_SPELLCASTING_KNIGHT_CHALICE, oCaster))
|
||||
nDivine += GetLevelByClass(CLASS_TYPE_FISTRAZIEL, oCaster);
|
||||
|
||||
if(GetHasFeat(FEAT_FOCHLUCAN_LYRIST_SPELLCASTING_KNIGHT_CHALICE, oCaster))
|
||||
nDivine += GetLevelByClass(CLASS_TYPE_FOCHLUCAN_LYRIST, oCaster);
|
||||
|
||||
/* if(GetHasFeat(FEAT_HEARTWARDER_SPELLCASTING_KNIGHT_CHALICE, oCaster))
|
||||
nDivine += GetLevelByClass(CLASS_TYPE_HEARTWARDER, oCaster); */
|
||||
@ -4752,6 +4779,9 @@ int GetDivinePRCLevels(object oCaster, int nCastingClass = CLASS_TYPE_INVALID)
|
||||
if(GetHasFeat(FEAT_FISTRAZIEL_SPELLCASTING_KNIGHT_MIDDLECIRCLE, oCaster))
|
||||
nDivine += GetLevelByClass(CLASS_TYPE_FISTRAZIEL, oCaster);
|
||||
|
||||
if(GetHasFeat(FEAT_FOCHLUCAN_LYRIST_SPELLCASTING_KNIGHT_MIDDLECIRCLE, oCaster))
|
||||
nDivine += GetLevelByClass(CLASS_TYPE_FOCHLUCAN_LYRIST, oCaster);
|
||||
|
||||
if(GetHasFeat(FEAT_HEARTWARDER_SPELLCASTING_KNIGHT_MIDDLECIRCLE, oCaster))
|
||||
nDivine += GetLevelByClass(CLASS_TYPE_HEARTWARDER, oCaster);
|
||||
|
||||
@ -4849,6 +4879,9 @@ int GetDivinePRCLevels(object oCaster, int nCastingClass = CLASS_TYPE_INVALID)
|
||||
|
||||
if(GetHasFeat(FEAT_ELDISCIPLE_SPELLCASTING_NENTYAR_HUNTER, oCaster))
|
||||
nDivine += GetLevelByClass(CLASS_TYPE_ELDRITCH_DISCIPLE, oCaster);
|
||||
|
||||
if(GetHasFeat(FEAT_FOCHLUCAN_LYRIST_SPELLCASTING_NENTYAR_HUNTER, oCaster))
|
||||
nDivine += GetLevelByClass(CLASS_TYPE_FOCHLUCAN_LYRIST, oCaster);
|
||||
|
||||
if(GetHasFeat(FEAT_FORESTMASTER_SPELLCASTING_NENTYAR_HUNTER, oCaster))
|
||||
nDivine += GetLevelByClass(CLASS_TYPE_FORESTMASTER, oCaster);
|
||||
@ -4960,9 +4993,12 @@ int GetDivinePRCLevels(object oCaster, int nCastingClass = CLASS_TYPE_INVALID)
|
||||
nDivine += GetLevelByClass(CLASS_TYPE_FORESTMASTER, oCaster);
|
||||
|
||||
if(GetHasFeat(FEAT_FISTRAZIEL_SPELLCASTING_OCULAR, oCaster))
|
||||
nDivine += GetLevelByClass(CLASS_TYPE_FISTRAZIEL, oCaster);
|
||||
nDivine += GetLevelByClass(CLASS_TYPE_FISTRAZIEL, oCaster); */
|
||||
|
||||
if(GetHasFeat(FEAT_FOCHLUCAN_LYRIST_SPELLCASTING_OCULAR, oCaster))
|
||||
nDivine += GetLevelByClass(CLASS_TYPE_FOCHLUCAN_LYRIST, oCaster);
|
||||
|
||||
if(GetHasFeat(FEAT_HEARTWARDER_SPELLCASTING_OCULAR, oCaster))
|
||||
/* if(GetHasFeat(FEAT_HEARTWARDER_SPELLCASTING_OCULAR, oCaster))
|
||||
nDivine += GetLevelByClass(CLASS_TYPE_HEARTWARDER, oCaster); */
|
||||
|
||||
if(GetHasFeat(FEAT_HIEROPHANT_SPELLCASTING_OCULAR, oCaster))
|
||||
@ -5155,6 +5191,9 @@ int GetDivinePRCLevels(object oCaster, int nCastingClass = CLASS_TYPE_INVALID)
|
||||
if(GetHasFeat(FEAT_ELDISCIPLE_SPELLCASTING_RANGER, oCaster))
|
||||
nDivine += GetLevelByClass(CLASS_TYPE_ELDRITCH_DISCIPLE, oCaster);
|
||||
|
||||
if(GetHasFeat(FEAT_FOCHLUCAN_LYRIST_SPELLCASTING_RANGER, oCaster))
|
||||
nDivine += GetLevelByClass(CLASS_TYPE_FOCHLUCAN_LYRIST, oCaster);
|
||||
|
||||
if(GetHasFeat(FEAT_FORESTMASTER_SPELLCASTING_RANGER, oCaster))
|
||||
nDivine += GetLevelByClass(CLASS_TYPE_FORESTMASTER, oCaster);
|
||||
|
||||
@ -5254,7 +5293,10 @@ int GetDivinePRCLevels(object oCaster, int nCastingClass = CLASS_TYPE_INVALID)
|
||||
nDivine += GetLevelByClass(CLASS_TYPE_CONTEMPLATIVE, oCaster);
|
||||
|
||||
if(GetHasFeat(FEAT_ELDISCIPLE_SPELLCASTING_OASHAMAN, oCaster))
|
||||
nDivine += GetLevelByClass(CLASS_TYPE_ELDRITCH_DISCIPLE, oCaster);
|
||||
nDivine += GetLevelByClass(CLASS_TYPE_ELDRITCH_DISCIPLE, oCaster);
|
||||
|
||||
if(GetHasFeat(FEAT_FOCHLUCAN_LYRIST_SPELLCASTING_OASHAMAN, oCaster))
|
||||
nDivine += GetLevelByClass(CLASS_TYPE_FOCHLUCAN_LYRIST, oCaster);
|
||||
|
||||
if(GetHasFeat(FEAT_FORESTMASTER_SPELLCASTING_OASHAMAN, oCaster))
|
||||
nDivine += GetLevelByClass(CLASS_TYPE_FORESTMASTER, oCaster);
|
||||
@ -5464,6 +5506,9 @@ int GetDivinePRCLevels(object oCaster, int nCastingClass = CLASS_TYPE_INVALID)
|
||||
// if(GetHasFeat(FEAT_ELDISCIPLE_SPELLCASTING_SOHEI, oCaster))
|
||||
// nDivine += GetLevelByClass(CLASS_TYPE_ELDRITCH_DISCIPLE, oCaster);
|
||||
|
||||
if(GetHasFeat(FEAT_FOCHLUCAN_LYRIST_SPELLCASTING_SOHEI, oCaster))
|
||||
nDivine += GetLevelByClass(CLASS_TYPE_FOCHLUCAN_LYRIST, oCaster);
|
||||
|
||||
// if(GetHasFeat(FEAT_FORESTMASTER_SPELLCASTING_SOHEI, oCaster))
|
||||
// nDivine += GetLevelByClass(CLASS_TYPE_FORESTMASTER, oCaster);
|
||||
|
||||
@ -5574,6 +5619,9 @@ int GetDivinePRCLevels(object oCaster, int nCastingClass = CLASS_TYPE_INVALID)
|
||||
/* if(GetHasFeat(FEAT_FISTRAZIEL_SPELLCASTING_SOL, oCaster))
|
||||
nDivine += GetLevelByClass(CLASS_TYPE_FISTRAZIEL, oCaster); */
|
||||
|
||||
if(GetHasFeat(FEAT_FOCHLUCAN_LYRIST_SPELLCASTING_SOL, oCaster))
|
||||
nDivine += GetLevelByClass(CLASS_TYPE_FOCHLUCAN_LYRIST, oCaster);
|
||||
|
||||
/* if(GetHasFeat(FEAT_HEARTWARDER_SPELLCASTING_SOL, oCaster))
|
||||
nDivine += GetLevelByClass(CLASS_TYPE_HEARTWARDER, oCaster); */
|
||||
|
||||
|
@ -21,12 +21,11 @@ int DoSpell(object oCaster, object oTarget, int nCasterLevel, int nEvent)
|
||||
{
|
||||
effect eVis = EffectVisualEffect(VFX_IMP_BONUS_WISDOM);
|
||||
int nMetaMagic = PRCGetMetaMagicFeat();
|
||||
int CasterLvl = PRCGetCasterLevel(OBJECT_SELF);
|
||||
int nDuration = nCasterLevel;
|
||||
if (CheckMetaMagic(nMetaMagic, METAMAGIC_EXTEND))
|
||||
nDuration *= 2; //Duration is +100%
|
||||
effect eLink = EffectLinkEffects(EffectAbilityIncrease(ABILITY_WISDOM, nCasterLevel / 2), EffectVisualEffect(VFX_DUR_CESSATE_POSITIVE));
|
||||
SignalEvent(oTarget, EventSpellCastAt(OBJECT_SELF, 438, FALSE));
|
||||
effect eLink = EffectLinkEffects(EffectAbilityIncrease(ABILITY_WISDOM, PRCMax(12, nCasterLevel / 2)), EffectVisualEffect(VFX_DUR_CESSATE_POSITIVE));
|
||||
SignalEvent(oTarget, EventSpellCastAt(oCaster, 438, FALSE));
|
||||
SPApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oTarget, HoursToSeconds(nDuration),TRUE,-1,nCasterLevel);
|
||||
SPApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget);
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user