141 lines
3.7 KiB
Plaintext
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);
|
|
|
|
|
|
}
|