Updated AMS marker feats. Removed arcane & divine marker feats. Updated Dread Necromancer for epic progression. Updated weapon baseitem models. Updated new weapons for crafting & npc equip. Updated prefix. Updated release archive.
		
			
				
	
	
		
			70 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			70 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| /*:://////////////////////////////////////////////
 | |
| //:: Spell Name Phase Door: Let us see them
 | |
| //:: Spell FileName PHS_S_PhaseDoorD
 | |
| //:://////////////////////////////////////////////
 | |
| //:: Spell Effects Applied / Notes
 | |
| //:://////////////////////////////////////////////
 | |
|     Uses a creature who invisiblieses themselves.
 | |
| 
 | |
|     Each creature (an entrance, point 1, and an exit, point 2) will be created.
 | |
| 
 | |
|     A power will remove the invisibility off it. They should have a visual
 | |
|     from the spell. The invisiblity will be applied as thier own (undispellable)
 | |
|     effect.
 | |
| 
 | |
|     Click on one for conversation, it takes you to the other.
 | |
| 
 | |
|     One of the creatures is the "master" of the two, and is set to the caster.
 | |
|     Thats all, else, if one exsists and one doesn't, they both go.
 | |
| //:://////////////////////////////////////////////
 | |
| //:: Created By: Jasperre
 | |
| //::////////////////////////////////////////////*/
 | |
| 
 | |
| // This is the "power" which will remove the invisibility off the doors.
 | |
| 
 | |
| #include "PHS_INC_SPELLS"
 | |
| 
 | |
| void main()
 | |
| {
 | |
|     // Loop all doors in the area
 | |
|     object oPerson = OBJECT_SELF;
 | |
|     object oMaster, oOther;
 | |
| 
 | |
|     // Loop doors
 | |
|     int nCnt = 1;
 | |
|     object oDoor = GetNearestObjectByTag("PHS_PHASEDOOR", oPerson, nCnt);
 | |
|     while(GetIsObjectValid(oDoor))
 | |
|     {
 | |
|         // Find the closest who's master is a member of our party
 | |
|         oMaster = GetMaster(oDoor);
 | |
|         if(GetFactionEqual(oMaster, oPerson))
 | |
|         {
 | |
|             // First, get the other door
 | |
|             oOther = GetLocalObject(oDoor, "PHS_PHASE_DOOR_TARGET");
 | |
| 
 | |
|             // If both do not have the invisbility, will not work
 | |
|             if(!PHS_GetHasEffect(EFFECT_TYPE_INVISIBILITY, oDoor) &&
 | |
|                !PHS_GetHasEffect(EFFECT_TYPE_INVISIBILITY, oDoor))
 | |
|             {
 | |
|                 // Message "failure"
 | |
|                 FloatingTextStringOnCreature("*Nearest Phase Door is already visible*", oDoor, FALSE);
 | |
|             }
 | |
|             else
 | |
|             {
 | |
|                 // Remove the invisiblity off them
 | |
|                 PHS_RemoveSpecificEffect(EFFECT_TYPE_INVISIBILITY, oDoor, SUBTYPE_SUPERNATURAL);
 | |
|                 PHS_RemoveSpecificEffect(EFFECT_TYPE_INVISIBILITY, oOther, SUBTYPE_SUPERNATURAL);
 | |
| 
 | |
|                 // Set a local for the rounds for invisibility
 | |
|                 SetLocalInt(oDoor, "PHS_SPELL_PHASE_DOOR_INVIS_ROUNDS", 4);
 | |
|                 SetLocalInt(oOther, "PHS_SPELL_PHASE_DOOR_INVIS_ROUNDS", 4);
 | |
|             }
 | |
|             // Stop
 | |
|             return;
 | |
|         }
 | |
|         // Loop doors
 | |
|         nCnt++;
 | |
|         oDoor = GetNearestObjectByTag("PHS_PHASEDOOR", oPerson, nCnt);
 | |
|     }
 | |
| }
 |