void main() { //Checks for a gem, if the right gem, kill the guardians and opens doors //By Trito object oObject=GetInventoryDisturbItem(); // Run this when something is added to the inventory if (GetInventoryDisturbType()==INVENTORY_DISTURB_TYPE_ADDED) { // The Item placed in it is NOT the right object // .. so tells the PC if ((GetTag(oObject)!="tri_toweropal")) { ActionSpeakString("Nothing Happens"); } else { // The item placed in the inventory IS the right gem if ((GetTag(oObject)=="tri_toweropal")) { SetPlotFlag(oObject, FALSE); DestroyObject(oObject); effect eExplode = EffectVisualEffect(VFX_FNF_STRIKE_HOLY); location lTarget = GetLocation(OBJECT_SELF); SpeakString("The opal shatters and you hear doors unlock at a distance", TALKVOLUME_TALK); ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eExplode, lTarget); effect eDam; effect eRay; effect eVis = EffectVisualEffect(VFX_IMP_HOLY_AID); object oTarget; int nDamage; nDamage=400; oTarget = GetObjectByTag("tri_battlhorror" ); eDam = EffectDamage(nDamage, DAMAGE_TYPE_MAGICAL); eRay = EffectBeam(VFX_BEAM_HOLY, OBJECT_SELF, BODY_NODE_HAND); ApplyEffectToObject(DURATION_TYPE_INSTANT, eDam, oTarget); ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eRay, oTarget, 1.7); DelayCommand(0.5, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget)); //get the second guardian and kill it oTarget = GetObjectByTag("tri_battlhorror2" ); eDam = EffectDamage(nDamage, DAMAGE_TYPE_MAGICAL); eRay = EffectBeam(VFX_BEAM_HOLY, OBJECT_SELF, BODY_NODE_HAND); ApplyEffectToObject(DURATION_TYPE_INSTANT, eDam, oTarget); ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eRay, oTarget, 1.7); DelayCommand(0.5, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget)); //get the third guardian and kill it oTarget = GetObjectByTag("tri_battlhorror3" ); eDam = EffectDamage(nDamage, DAMAGE_TYPE_MAGICAL); eRay = EffectBeam(VFX_BEAM_HOLY, OBJECT_SELF, BODY_NODE_HAND); ApplyEffectToObject(DURATION_TYPE_INSTANT, eDam, oTarget); ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eRay, oTarget, 1.7); DelayCommand(0.5, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget)); //get the fourth guardian and kill it oTarget = GetObjectByTag("tri_battlhorror4" ); eDam = EffectDamage(nDamage, DAMAGE_TYPE_MAGICAL); eRay = EffectBeam(VFX_BEAM_HOLY, OBJECT_SELF, BODY_NODE_HAND); ApplyEffectToObject(DURATION_TYPE_INSTANT, eDam, oTarget); ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eRay, oTarget, 1.7); DelayCommand(0.5, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget)); //gets doors and unlock them object oDoor = GetObjectByTag("tri_zhentlvl1d1"); object jDoor = GetObjectByTag("tri_zhentlvl1d2"); SetLocked(oDoor, 0); SetLocked(jDoor, 0); DelayCommand(100.0, SetLocked(oDoor, TRUE)); DelayCommand(100.0, SetLocked(jDoor, TRUE)); } } } }