2025/12/28 Early update
Wemics have 5 RHD. Fixed Whirling Blade. Factotum now regenerates Inspiration after logging off and back on in he same server session. Spellfire Wielder can't get extra spell levels from overcharging items. Only one Chilling Fog at a time, casting a new one destroys the old one. Heart of Fire now has a Chakra totem. Pearl of Black doubt should be a bit more accurate. Tweaked and tested psionic Keen Edge. Fixed reversed sign for Echoblade validity in prc_equip. Havoc Mage's Battlecast should clean up properly. Updated readme.
This commit is contained in:
@@ -177,7 +177,7 @@ void main()
|
||||
// Only remove echoblade for weapon types
|
||||
while(GetIsEffectValid(eEffect))
|
||||
{
|
||||
if(GetEffectTag(eEffect) != "Echoblade")
|
||||
if(GetEffectTag(eEffect) == "Echoblade")
|
||||
RemoveEffect(oPC, eEffect);
|
||||
eEffect = GetNextEffect(oPC);
|
||||
}
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
#include "prc_inc_factotum"
|
||||
#include "inc_dynconv"
|
||||
|
||||
void TriggerInspiration(object oPC, int nCombat);
|
||||
//:: Moved to prc_inc_factotum --Jaysyn
|
||||
/* void TriggerInspiration(object oPC, int nCombat);
|
||||
|
||||
void TriggerInspiration(object oPC, int nCombat)
|
||||
{
|
||||
@@ -16,7 +17,7 @@ void TriggerInspiration(object oPC, int nCombat)
|
||||
|
||||
DelayCommand(0.25, TriggerInspiration(oPC, nCurrent));
|
||||
}
|
||||
|
||||
*/
|
||||
void main()
|
||||
{
|
||||
int nEvent = GetRunningEvent();
|
||||
@@ -68,6 +69,16 @@ void main()
|
||||
SetLocalInt(oPC, "InspirationHB", TRUE);
|
||||
}
|
||||
}
|
||||
else if(EVENT_ONCLIENTENTER)
|
||||
{
|
||||
if(GetLevelByClass(CLASS_TYPE_FACTOTUM, oPC) > 0)
|
||||
{
|
||||
DeleteLocalInt(oPC, "InspirationHB");
|
||||
DeleteLocalInt(oPC, "InspirationHBRunning");
|
||||
TriggerInspiration(oPC, FALSE);
|
||||
SetLocalInt(oPC, "InspirationHB", TRUE);
|
||||
}
|
||||
}
|
||||
else if(nEvent == EVENT_ONPLAYERREST_FINISHED && nClass >= 2)
|
||||
{
|
||||
AssignCommand(oPC, ClearAllActions(TRUE));
|
||||
|
||||
@@ -6,6 +6,46 @@
|
||||
#include "prc_alterations"
|
||||
|
||||
void main()
|
||||
{
|
||||
object oPC = OBJECT_SELF;
|
||||
string sMsg;
|
||||
|
||||
if (!GetLocalInt(oPC, "HavocMageBattlecast"))
|
||||
{
|
||||
// Activate
|
||||
effect eFeat = EffectBonusFeat(FEAT_EPIC_IMPROVED_COMBAT_CASTING);
|
||||
eFeat = UnyieldingEffect(eFeat);
|
||||
TagEffect(eFeat, "BATTLECAST_FEAT");
|
||||
|
||||
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eFeat, oPC);
|
||||
SetLocalInt(oPC, "HavocMageBattlecast", TRUE);
|
||||
|
||||
sMsg = "*Battlecast Activated*";
|
||||
}
|
||||
else
|
||||
{
|
||||
// Deactivate: remove the tagged unyielding effect
|
||||
effect e = GetFirstEffect(oPC);
|
||||
while (GetIsEffectValid(e))
|
||||
{
|
||||
if (GetEffectTag(e) == "BATTLECAST_FEAT")
|
||||
{
|
||||
RemoveEffect(oPC, e);
|
||||
break;
|
||||
}
|
||||
e = GetNextEffect(oPC);
|
||||
}
|
||||
|
||||
DeleteLocalInt(oPC, "HavocMageBattlecast");
|
||||
sMsg = "*Battlecast Deactivated*";
|
||||
}
|
||||
|
||||
FloatingTextStringOnCreature(sMsg, oPC, FALSE);
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* void main()
|
||||
{
|
||||
|
||||
object oPC = OBJECT_SELF;
|
||||
@@ -29,4 +69,4 @@ void main()
|
||||
}
|
||||
|
||||
FloatingTextStringOnCreature(nMes, oPC, FALSE);
|
||||
}
|
||||
} */
|
||||
@@ -8,6 +8,7 @@
|
||||
#include "prc_inc_dragsham"
|
||||
#include "shd_inc_myst"
|
||||
#include "prc_inc_template"
|
||||
#include "prc_inc_factotum"
|
||||
|
||||
void RestoreForsakerAbilities(object oPC)
|
||||
{
|
||||
@@ -244,6 +245,17 @@ void main()
|
||||
{
|
||||
RestoreForsakerAbilities(oPC);
|
||||
}
|
||||
|
||||
if(GetLevelByClass(CLASS_TYPE_FACTOTUM, oPC) > 0)
|
||||
{
|
||||
// Re-add all event hooks that were lost during disconnect
|
||||
AddEventScript(oPC, EVENT_ONPLAYERREST_FINISHED, "prc_factotum", FALSE, FALSE);
|
||||
// Reinitialize the Inspiration system
|
||||
DeleteLocalInt(oPC, "InspirationHB");
|
||||
DeleteLocalInt(oPC, "InspirationHBRunning");
|
||||
TriggerInspiration(oPC, FALSE);
|
||||
SetLocalInt(oPC, "InspirationHB", TRUE);
|
||||
}
|
||||
|
||||
ResetTouchOfVitality(oPC);
|
||||
DelayCommand(0.15, DeleteLocalInt(oPC,"ONENTER"));
|
||||
|
||||
@@ -620,10 +620,11 @@ void main()
|
||||
if(DEBUG) DoDebug("prc_onhit: PoBD onHit >> restting AC.");
|
||||
DeleteLocalInt(oSpellOrigin, "PearlOfBlackDoubtBonus");
|
||||
RemoveEffect(oSpellOrigin, eEffect);
|
||||
|
||||
SetLocalInt(oSpellOrigin, "PearlOfBlackDoubt_JustHit", TRUE);
|
||||
}
|
||||
eEffect = GetNextEffect(oSpellOrigin);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
// Tactics of the Wolf
|
||||
if(GetHasSpellEffect(MOVE_WR_TACTICS_WOLF, oSpellOrigin) && GetBaseItemType(oItem) != BASE_ITEM_ARMOR)
|
||||
|
||||
Reference in New Issue
Block a user