151 lines
4.3 KiB
Plaintext
151 lines
4.3 KiB
Plaintext
#include "x2_inc_switches"
|
|
#include "prc_class_const"
|
|
|
|
void main()
|
|
{
|
|
object oPC = GetPCItemLastEquippedBy();
|
|
object 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;
|
|
}
|
|
|
|
//:: Classes with Immunity to Mind Effects take off the crown and stop script.
|
|
if ((GetLevelByClass(CLASS_TYPE_MONK, oPC) > 19 == TRUE)
|
|
|| (GetLevelByClass(CLASS_TYPE_BINDER, oPC) > 18 == TRUE)
|
|
|| (GetLevelByClass(CLASS_TYPE_BAELNORN, oPC) > 0 == TRUE)
|
|
|| (GetLevelByClass(CLASS_TYPE_LICH, oPC) > 0 == TRUE)
|
|
|| (GetLevelByClass(CLASS_TYPE_PLANT, oPC) > 0 == TRUE)
|
|
|| (GetLevelByClass(CLASS_TYPE_UNDEAD, oPC) > 0 == TRUE)
|
|
|| (GetLevelByClass(CLASS_TYPE_BLIGHTLORD, oPC) > 9 == TRUE)
|
|
|| (GetLevelByClass(CLASS_TYPE_DREAD_NECROMANCER, oPC) > 19 == 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 = 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);
|
|
|
|
} |