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.
		
			
				
	
	
		
			68 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			68 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| /*:://////////////////////////////////////////////
 | |
| //:: Spell Name See Invisibility
 | |
| //:: Spell FileName PHS_S_SeeInvisib
 | |
| //:://////////////////////////////////////////////
 | |
| //:: In Game Spell desctiption
 | |
| //:://////////////////////////////////////////////
 | |
|     Divination
 | |
|     Level: Brd 3, Sor/Wiz 2
 | |
|     Components: V, S, M
 | |
|     Casting Time: 1 standard action
 | |
|     Range: Personal
 | |
|     Target: You
 | |
|     Duration: 10 min./level (D)
 | |
| 
 | |
|     You can see any objects or beings that are invisible within your range of
 | |
|     vision, as if they were normally visible. The spell does not reveal the
 | |
|     method used to obtain invisibility. It does not reveal illusions or enable
 | |
|     you to see through opaque objects. It does not reveal creatures who are
 | |
|     simply hiding, concealed, or otherwise hard to see.
 | |
| 
 | |
|     Material Component: A pinch of talc and a small sprinkling of powdered silver.
 | |
| //:://////////////////////////////////////////////
 | |
| //:: Spell Effects Applied / Notes
 | |
| //:://////////////////////////////////////////////
 | |
|     Uses EffectSeeInvisible(), which is simple and only counters EffectInvisibility()
 | |
|     which is a real shame, but still useful.
 | |
| 
 | |
|     Note: Originally, the spell also countered Etherealness.
 | |
| //:://////////////////////////////////////////////
 | |
| //:: Created By: Jasperre
 | |
| //::////////////////////////////////////////////*/
 | |
| 
 | |
| #include "PHS_INC_SPELLS"
 | |
| 
 | |
| void main()
 | |
| {
 | |
|     // Spell Hook Check.
 | |
|     if(!PHS_SpellHookCheck(PHS_SPELL_SEE_INVISIBILITY)) return;
 | |
| 
 | |
|     // Declare Major Variables
 | |
|     object oCaster = OBJECT_SELF;
 | |
|     object oTarget = GetSpellTargetObject();
 | |
|     int nMetaMagic = PHS_GetMetaMagicFeat();
 | |
|     int nCasterLevel = PHS_GetCasterLevel();
 | |
| 
 | |
|     // 10 minutes/level
 | |
|     float fDuration = PHS_GetDuration(PHS_MINUTES, nCasterLevel * 10, nMetaMagic);
 | |
| 
 | |
|     // Delcare effects
 | |
|     effect eVis = EffectVisualEffect(VFX_IMP_MAGICAL_VISION);
 | |
|     effect eSee = EffectSeeInvisible();
 | |
|     effect eDur = EffectVisualEffect(VFX_DUR_MAGICAL_SIGHT);
 | |
|     effect eCessate = EffectVisualEffect(VFX_DUR_CESSATE_POSITIVE);
 | |
| 
 | |
|     // Link effects
 | |
|     effect eLink = EffectLinkEffects(eSee, eCessate);
 | |
|     eLink = EffectLinkEffects(eLink, eDur);
 | |
| 
 | |
|     // Remove previous castings
 | |
|     PHS_RemoveSpellEffectsFromTarget(PHS_SPELL_SEE_INVISIBILITY, oTarget);
 | |
| 
 | |
|     // Signal spell cast at
 | |
|     PHS_SignalSpellCastAt(oTarget, PHS_SPELL_SEE_INVISIBILITY, FALSE);
 | |
| 
 | |
|     // Apply effects
 | |
|     PHS_ApplyDurationAndVFX(oTarget, eVis, eLink, fDuration);
 | |
| }
 |