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.
		
			
				
	
	
		
			107 lines
		
	
	
		
			4.0 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			107 lines
		
	
	
		
			4.0 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
/*:://////////////////////////////////////////////
 | 
						|
//:: Spell Name Meld into Stone
 | 
						|
//:: Spell FileName PHS_S_MeldintoSt
 | 
						|
//:://////////////////////////////////////////////
 | 
						|
//:: In Game Spell desctiption
 | 
						|
//:://////////////////////////////////////////////
 | 
						|
    Transmutation [Earth]
 | 
						|
    Level: Clr 3, Drd 3
 | 
						|
    Components: V, S, DF
 | 
						|
    Casting Time: 1 standard action
 | 
						|
    Range: Personal
 | 
						|
    Target: You
 | 
						|
    Duration: 10 min./level
 | 
						|
 | 
						|
    Meld into stone enables you to meld your body and possessions into a single
 | 
						|
    block of stone that you create.
 | 
						|
 | 
						|
    You remain aware of the passage of time and can cast spells on yourself
 | 
						|
    while hiding in the stone. Nothing that goes on outside the stone can be
 | 
						|
    seen, but you can still hear what happens around you. Minor physical damage
 | 
						|
    to the stone does not harm you (you gain 8/+1 damage resistance against
 | 
						|
    pysical damage). If you get hit enough within the stone then it will
 | 
						|
    collapse. You can take up to 8 damage per caster level, maximum of 80 at
 | 
						|
    level 10.
 | 
						|
 | 
						|
    Any time before the duration expires, you can step out of the stone and the
 | 
						|
    spell will dispissitate as when it is completely destroyed or dispelled.
 | 
						|
 | 
						|
    The following spells harm you if cast upon the stone that you are occupying:
 | 
						|
    Stone to flesh expels you and deals you 5d6 points of damage. Stone shape
 | 
						|
    deals you 3d6 points of damage but does not expel you. Transmute rock to mud
 | 
						|
    expels you and then slays you instantly unless you make a DC 18 Fortitude
 | 
						|
    save, in which case you are merely expelled. Finally, passwall expels you
 | 
						|
    without damage.
 | 
						|
//:://////////////////////////////////////////////
 | 
						|
//:: Spell Effects Applied / Notes
 | 
						|
//:://////////////////////////////////////////////
 | 
						|
    This spell will:
 | 
						|
 | 
						|
    - Apply blindness.
 | 
						|
    - Not allow spells to be cast on anyone but the caster
 | 
						|
    - Make the caster immobile (if possible, else we will use a HB)
 | 
						|
    - Apply damage reduction 8/-, against physiscal damage, for a maximum of
 | 
						|
      8xlevel, max 80.
 | 
						|
 | 
						|
    So, you can cast it and prepare some spells and subsiquently gain a small
 | 
						|
    amount of physical damage reduction.
 | 
						|
 | 
						|
    Simplified version.
 | 
						|
 | 
						|
    The PHS_SpellHookCheck() has code for MELD_INTO_STONE stuff.
 | 
						|
//:://////////////////////////////////////////////
 | 
						|
//:: Created By: Jasperre
 | 
						|
//::////////////////////////////////////////////*/
 | 
						|
 | 
						|
#include "PHS_INC_SPELLS"
 | 
						|
 | 
						|
void main()
 | 
						|
{
 | 
						|
    // Spell Hook Check.
 | 
						|
    if(!PHS_SpellHookCheck(PHS_SPELL_MELD_INTO_STONE)) return;
 | 
						|
 | 
						|
    // Declare major variables
 | 
						|
    object oCaster = OBJECT_SELF;
 | 
						|
    object oTarget = GetSpellTargetObject();
 | 
						|
    int nCasterLevel = PHS_GetCasterLevel();
 | 
						|
    int nMetaMagic = PHS_GetMetaMagicFeat();
 | 
						|
 | 
						|
    // Caster needs to be target
 | 
						|
    if(oCaster != oTarget) return;
 | 
						|
 | 
						|
    // Make sure they are not immune to spells
 | 
						|
    if(PHS_TotalSpellImmunity(oTarget)) return;
 | 
						|
 | 
						|
    // Duration is 10 minutes/level
 | 
						|
    float fDuration = PHS_GetDuration(PHS_MINUTES, nCasterLevel * 10, nMetaMagic);
 | 
						|
 | 
						|
    // Limit to 80
 | 
						|
    int nLimit = PHS_LimitInteger(nCasterLevel * 8, 80);
 | 
						|
 | 
						|
    // Declare effects
 | 
						|
    // All "Good" effects
 | 
						|
    effect ePhysical1 = EffectDamageResistance(DAMAGE_TYPE_BLUDGEONING, 8, nLimit);
 | 
						|
    effect ePhysical2 = EffectDamageResistance(DAMAGE_TYPE_PIERCING, 8, nLimit);
 | 
						|
    effect ePhysical3 = EffectDamageResistance(DAMAGE_TYPE_SLASHING, 8, nLimit);
 | 
						|
    effect eBlind = EffectBlindness();
 | 
						|
    // Visuals
 | 
						|
    effect eDur = EffectVisualEffect(VFX_DUR_STONEHOLD);
 | 
						|
    effect eCessate = EffectVisualEffect(VFX_DUR_CESSATE_POSITIVE);
 | 
						|
 | 
						|
    // Link effects
 | 
						|
    effect eLink = EffectLinkEffects(ePhysical1, ePhysical2);
 | 
						|
    eLink = EffectLinkEffects(eLink, ePhysical3);
 | 
						|
    eLink = EffectLinkEffects(eLink, eBlind);
 | 
						|
    eLink = EffectLinkEffects(eLink, eDur);
 | 
						|
    eLink = EffectLinkEffects(eLink, eCessate);
 | 
						|
 | 
						|
    // Remove previous effects
 | 
						|
    PHS_RemoveSpellEffectsFromTarget(PHS_SPELL_MELD_INTO_STONE, oTarget);
 | 
						|
 | 
						|
    // Signal spell cast at
 | 
						|
    PHS_SignalSpellCastAt(oTarget, PHS_SPELL_MELD_INTO_STONE, FALSE);
 | 
						|
 | 
						|
    // Apply effects to the target
 | 
						|
    PHS_ApplyDuration(oTarget, eLink, fDuration);
 | 
						|
}
 |