location lTarget; object oTarget; effect eEffect; //Put this script OnEnter #include "prc_inc_spells" void main() { object oPC = GetEnteringObject(); //Are we a pc if (!GetIsPC(oPC)) return; //Start of first set of conditions /* if ((GetLevelByClass(CLASS_TYPE_BARD, oPC)==0)&& (GetLevelByClass(CLASS_TYPE_CLERIC, oPC)==0)&& (GetLevelByClass(CLASS_TYPE_DRUID, oPC)==0)&& (GetLevelByClass(CLASS_TYPE_SORCERER, oPC)==0)&& (GetLevelByClass(CLASS_TYPE_WIZARD, oPC)==0)) */ if (PRCGetCasterLevel(oPC) > 1) { eEffect = EffectDamage(100, DAMAGE_TYPE_MAGICAL, DAMAGE_POWER_ENERGY); ApplyEffectToObject(DURATION_TYPE_INSTANT, eEffect, oPC); ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_GREATER_RUIN), oPC); oTarget = GetWaypointByTag("WP_MAGEFORGE_OUT"); lTarget = GetLocation(oTarget); if (GetAreaFromLocation(lTarget)==OBJECT_INVALID) return; AssignCommand(oPC, ClearAllActions()); DelayCommand(3.0, AssignCommand(oPC, ActionJumpToLocation(lTarget))); ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_IMP_UNSUMMON), oPC); SendMessageToPC(oPC, "You do not possess arcane power, you have been warned!"); SetLocalInt(oPC, "WARNED", 1); //End of first set of conditions //Start of second set of conditions } else if (GetLocalInt(oPC, "WARNED")== 1) { eEffect = EffectDamage(200, DAMAGE_TYPE_MAGICAL, DAMAGE_POWER_ENERGY); ApplyEffectToObject(DURATION_TYPE_INSTANT, eEffect, oPC); ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_GREATER_RUIN), oPC); oTarget = GetWaypointByTag("WP_MAGEFORGE_OUT"); lTarget = GetLocation(oTarget); if (GetAreaFromLocation(lTarget)==OBJECT_INVALID) return; AssignCommand(oPC, ClearAllActions()); DelayCommand(3.0, AssignCommand(oPC, ActionJumpToLocation(lTarget))); ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_IMP_UNSUMMON), oPC); SendMessageToPC(oPC, "You have recieved your second warning!"); SetLocalInt(oPC, "WARNED", 2); //End of second set of conditions //Start of third set of conditions } else if (GetLocalInt(oPC, "WARNED")== 2) { eEffect = EffectDamage(300, DAMAGE_TYPE_MAGICAL, DAMAGE_POWER_ENERGY); ApplyEffectToObject(DURATION_TYPE_INSTANT, eEffect, oPC); ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_GREATER_RUIN), oPC); oTarget = GetWaypointByTag("WP_MAGEFORGE_OUT"); lTarget = GetLocation(oTarget); if (GetAreaFromLocation(lTarget)==OBJECT_INVALID) return; AssignCommand(oPC, ClearAllActions()); DelayCommand(3.0, AssignCommand(oPC, ActionJumpToLocation(lTarget))); ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_IMP_UNSUMMON), oPC); SendMessageToPC(oPC, "This is your final warning!"); //End of third set of conditions //Start of forth and final set of conditions } else if (GetLocalInt(oPC, "WARNED")== 3) { ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_GREATER_RUIN), oPC); eEffect = EffectDeath(); ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eEffect, oPC, 0.0f); SendMessageToPC(oPC, "You should have listened to the warnings."); } else { } }