PoA_PRC8/module/nss/eq_immortalcrown.nss
Jaysyn904 128e7e59a4 Initial upload
Initial upload
2022-10-07 14:20:31 -04:00

141 lines
3.7 KiB
Plaintext

#include "x2_inc_switches"
void main()
{
object oPC = GetPCItemLastEquippedBy();
object oItem;
oItem = GetPCItemLastEquipped();
if (!GetIsPC(oPC)) return;
//If they have the spell Clarity On take off the crown.
if (GetHasSpellEffect(SPELL_CLARITY)== TRUE)
{
AssignCommand(oPC, ClearAllActions());
AssignCommand(oPC, ActionUnequipItem(oItem));
FloatingTextStringOnCreature("A greater power prevents you from using this crown.", oPC);
return;
}
//if they are a monk take off the crown and stop script.
if (GetLevelByClass(CLASS_TYPE_MONK, oPC) >0 == TRUE)
{
AssignCommand(oPC, ClearAllActions());
AssignCommand(oPC, ActionUnequipItem(oItem));
FloatingTextStringOnCreature("A greater power prevents you from using this crown.", oPC);
return;
}
//if they have mind immunity take off the crown and stop script.
if (GetIsImmune(oPC, IMMUNITY_TYPE_MIND_SPELLS)== TRUE)
{
AssignCommand(oPC, ClearAllActions());
AssignCommand(oPC, ActionUnequipItem(oItem));
FloatingTextStringOnCreature("A greater power prevents you from using this crown.", oPC);
return;
}
object oTarget;
oTarget = oPC;
if (GetItemPossessedBy(oPC, "secret2")== OBJECT_INVALID)
{
ApplyEffectToObject(DURATION_TYPE_PERMANENT, EffectConfused(), oTarget);
}
effect eEffect;
eEffect = EffectDamageIncrease(DAMAGE_BONUS_2d12, DAMAGE_TYPE_POSITIVE);
eEffect = SupernaturalEffect(eEffect);
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eEffect, oTarget);
eEffect = EffectDamageIncrease(DAMAGE_BONUS_2d12, DAMAGE_TYPE_NEGATIVE);
eEffect = SupernaturalEffect(eEffect);
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eEffect, oTarget);
eEffect = EffectRegenerate(65, 6.0f);
eEffect = SupernaturalEffect(eEffect);
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eEffect, oTarget);
eEffect = EffectACIncrease(40);
eEffect = SupernaturalEffect(eEffect);
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eEffect, oTarget);
eEffect = EffectAttackIncrease(20);
eEffect = SupernaturalEffect(eEffect);
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eEffect, oTarget);
eEffect = EffectTemporaryHitpoints(300);
eEffect = SupernaturalEffect(eEffect);
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eEffect, oTarget);
eEffect = EffectInvisibility(EFFECT_TYPE_INVISIBILITY);
eEffect = SupernaturalEffect(eEffect);
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eEffect, oTarget);
eEffect = EffectConcealment(60);
eEffect = SupernaturalEffect(eEffect);
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eEffect, oTarget);
eEffect = EffectSpellResistanceIncrease(50);
eEffect = SupernaturalEffect(eEffect);
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eEffect, oTarget);
eEffect = EffectSavingThrowIncrease(SAVING_THROW_ALL, 12, SAVING_THROW_TYPE_ALL);
eEffect = SupernaturalEffect(eEffect);
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eEffect, oTarget);
eEffect = EffectDamageImmunityIncrease(DAMAGE_TYPE_BLUDGEONING, 90);
eEffect = SupernaturalEffect(eEffect);
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eEffect, oTarget);
eEffect = EffectDamageImmunityIncrease(DAMAGE_TYPE_PIERCING, 90);
eEffect = SupernaturalEffect(eEffect);
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eEffect, oTarget);
eEffect = EffectDamageImmunityIncrease(DAMAGE_TYPE_SLASHING, 90);
eEffect = SupernaturalEffect(eEffect);
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eEffect, oTarget);
eEffect = EffectDamageImmunityIncrease(DAMAGE_TYPE_MAGICAL, 90);
eEffect = SupernaturalEffect(eEffect);
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eEffect, oTarget);
eEffect = EffectImmunity(IMMUNITY_TYPE_CRITICAL_HIT);
eEffect = SupernaturalEffect(eEffect);
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eEffect, oTarget);
eEffect = EffectTrueSeeing();
eEffect = SupernaturalEffect(eEffect);
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eEffect, oTarget);
}