forked from Jaysyn/PRC8
Updated Release Archive. Fixed Mage-killer prereqs. Removed old LETO & ConvoCC related files. Added organized spell scroll store. Fixed Gloura spellbook. Various TLK fixes. Reorganized Repo. Removed invalid user folders. Added DocGen back in.
65 lines
2.6 KiB
Plaintext
65 lines
2.6 KiB
Plaintext
// The error code 5 prevention entry. Comment out or uncomment as necessary.
|
|
//Part Deux, Primogenitor 05/07/05
|
|
//const int COMPILER_BREAKS_ON_ME_OR_NOT_AGAIN = 0xffffffff;
|
|
|
|
//:://////////////////////////////////////////////
|
|
//:: FileName: "ss_ep_alliedmart"
|
|
/* Purpose: Allied Martyr - The subject of this spell willingly allows all
|
|
damage suffered by the caster to be transfered to the subject.
|
|
NOTE: It is ASSUMED that any NPC partymember is automatically willing.
|
|
Other party members who are actual players will have a conversation
|
|
pop up where they are asked if they are willing to let it happen.
|
|
*/
|
|
//:://////////////////////////////////////////////
|
|
//:: Created By: Boneshank
|
|
//:: Last Updated On: March 12, 2004
|
|
//:://////////////////////////////////////////////
|
|
#include "prc_alterations"
|
|
#include "inc_epicspells"
|
|
#include "inc_dispel"
|
|
//#include "x2_inc_spellhook"
|
|
|
|
void main()
|
|
{
|
|
DeleteLocalInt(OBJECT_SELF, "X2_L_LAST_SPELLSCHOOL_VAR");
|
|
SetLocalInt(OBJECT_SELF, "X2_L_LAST_SPELLSCHOOL_VAR", SPELL_SCHOOL_CONJURATION);
|
|
|
|
if (!X2PreSpellCastCode())
|
|
{
|
|
DeleteLocalInt(OBJECT_SELF, "X2_L_LAST_SPELLSCHOOL_VAR");
|
|
return;
|
|
}
|
|
if (GetCanCastSpell(OBJECT_SELF, SPELL_EPIC_AL_MART))
|
|
{
|
|
object oTarget = PRCGetSpellTargetObject();
|
|
// Twice per round, for 20 hours.
|
|
int nDuration = FloatToInt(HoursToSeconds(20) / 3);
|
|
// Is the target an ally (in the caster's party)?
|
|
effect eVis = EffectVisualEffect(VFX_IMP_HOLY_AID);
|
|
if (GetFactionEqual(oTarget, OBJECT_SELF))
|
|
{
|
|
SetLocalObject(oTarget, "oAllyForMyMartyrdom", OBJECT_SELF);
|
|
SetLocalString(oTarget,
|
|
"sAllyForMyMartyrdom", GetName(OBJECT_SELF));
|
|
SetLocalInt(oTarget, "nTimeForMartyrdomFor", nDuration);
|
|
SPApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget);
|
|
SPApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, OBJECT_SELF);
|
|
// Is the party member another player?
|
|
if (GetIsPC(oTarget))
|
|
{
|
|
//We have to get the player's permission for this.
|
|
// A "Yes" from the player will use ActionTaken to run script.
|
|
AssignCommand(oTarget, ActionStartConversation(OBJECT_SELF,
|
|
"ss_alliedmartyr", TRUE, FALSE));
|
|
}
|
|
// The party member is NOT a player.
|
|
else
|
|
{
|
|
ExecuteScript("run_all_martyr", oTarget);
|
|
}
|
|
|
|
}
|
|
}
|
|
DeleteLocalInt(OBJECT_SELF, "X2_L_LAST_SPELLSCHOOL_VAR");
|
|
}
|