#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); }