Clear out experimental .35 files
Clear out experimental .35 files
This commit is contained in:
@@ -1,192 +0,0 @@
|
||||
//Spell script for reserve feats cast on self
|
||||
//prc_reservself
|
||||
//by ebonfowl
|
||||
//Dedicated to Edgar, the real Ebonfowl
|
||||
|
||||
#include "prc_sp_func"
|
||||
#include "prc_inc_sp_tch"
|
||||
#include "prc_add_spell_dc"
|
||||
|
||||
void RemoveClaws(object oPC, string sResRef)
|
||||
{
|
||||
object oNatWeapon1 = GetItemInSlot(INVENTORY_SLOT_CWEAPON_L, oPC);
|
||||
object oNatWeapon2 = GetItemInSlot(INVENTORY_SLOT_CWEAPON_R, oPC);
|
||||
object oNatWeapon3 = GetItemInSlot(INVENTORY_SLOT_CWEAPON_B, oPC);
|
||||
string sResRef1 = GetResRef(oNatWeapon1);
|
||||
string sResRef2 = GetResRef(oNatWeapon2);
|
||||
string sResRef3 = GetResRef(oNatWeapon3);
|
||||
|
||||
if (sResRef1 == sResRef)
|
||||
DestroyObject(oNatWeapon1);
|
||||
if (sResRef2 == sResRef)
|
||||
DestroyObject(oNatWeapon2);
|
||||
if (sResRef3 == sResRef)
|
||||
DestroyObject(oNatWeapon3);
|
||||
}
|
||||
|
||||
void main()
|
||||
{
|
||||
object oPC = OBJECT_SELF;
|
||||
|
||||
int nSpellID = PRCGetSpellId();
|
||||
int nDuration, nHD, nBonus, nSize;
|
||||
|
||||
string sResRef;
|
||||
|
||||
effect eEffect, eVis;
|
||||
|
||||
//Define individual spell parameters
|
||||
switch (nSpellID)
|
||||
{
|
||||
case SPELL_SUNLIGHT_EYES:
|
||||
{
|
||||
nBonus = GetLocalInt(oPC, "SunlightEyesBonus");
|
||||
nDuration = 1;
|
||||
|
||||
eEffect = EffectUltravision();
|
||||
eEffect = SupernaturalEffect(eEffect);
|
||||
eVis = EffectVisualEffect(VFX_IMP_MAGICAL_VISION);
|
||||
|
||||
if (nBonus == 0)
|
||||
{
|
||||
FloatingTextStringOnCreature("You do not have a spell available of adequate level or type", oPC, FALSE);
|
||||
return;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
case SPELL_MINOR_SHAPESHIFT_MIGHT:
|
||||
{
|
||||
nBonus = GetLocalInt(oPC, "MinorShapeshiftBonus");
|
||||
nDuration = nBonus;
|
||||
|
||||
eEffect = EffectDamageIncrease(2, DAMAGE_TYPE_SLASHING);
|
||||
eEffect = SupernaturalEffect(eEffect);
|
||||
eVis = EffectVisualEffect(VFX_IMP_POLYMORPH);
|
||||
|
||||
if (nBonus == 0)
|
||||
{
|
||||
FloatingTextStringOnCreature("You do not have a spell available of adequate level or type", oPC, FALSE);
|
||||
return;
|
||||
}
|
||||
|
||||
//Remove Shapeshift effects as you can only have one
|
||||
GZPRCRemoveSpellEffects(SPELL_MINOR_SHAPESHIFT_MIGHT, oPC, FALSE);
|
||||
GZPRCRemoveSpellEffects(SPELL_MINOR_SHAPESHIFT_MOBILITY, oPC, FALSE);
|
||||
GZPRCRemoveSpellEffects(SPELL_MINOR_SHAPESHIFT_SAVAGERY, oPC, FALSE);
|
||||
GZPRCRemoveSpellEffects(SPELL_MINOR_SHAPESHIFT_SPEED, oPC, FALSE);
|
||||
GZPRCRemoveSpellEffects(SPELL_MINOR_SHAPESHIFT_VIGOR, oPC, FALSE);
|
||||
break;
|
||||
}
|
||||
|
||||
case SPELL_MINOR_SHAPESHIFT_MOBILITY:
|
||||
{
|
||||
nBonus = GetLocalInt(oPC, "MinorShapeshiftBonus");
|
||||
nDuration = nBonus;
|
||||
|
||||
eEffect = EffectSkillIncrease(SKILL_CLIMB, 2);
|
||||
eEffect = EffectLinkEffects(EffectSkillIncrease(SKILL_BALANCE, 2), eEffect);
|
||||
eEffect = EffectLinkEffects(EffectSkillIncrease(SKILL_JUMP, 2), eEffect);
|
||||
eEffect = SupernaturalEffect(eEffect);
|
||||
eVis = EffectVisualEffect(VFX_IMP_POLYMORPH);
|
||||
|
||||
if (nBonus == 0)
|
||||
{
|
||||
FloatingTextStringOnCreature("You do not have a spell available of adequate level or type", oPC, FALSE);
|
||||
return;
|
||||
}
|
||||
|
||||
GZPRCRemoveSpellEffects(SPELL_MINOR_SHAPESHIFT_MIGHT, oPC, FALSE);
|
||||
GZPRCRemoveSpellEffects(SPELL_MINOR_SHAPESHIFT_MOBILITY, oPC, FALSE);
|
||||
GZPRCRemoveSpellEffects(SPELL_MINOR_SHAPESHIFT_SAVAGERY, oPC, FALSE);
|
||||
GZPRCRemoveSpellEffects(SPELL_MINOR_SHAPESHIFT_SPEED, oPC, FALSE);
|
||||
GZPRCRemoveSpellEffects(SPELL_MINOR_SHAPESHIFT_VIGOR, oPC, FALSE);
|
||||
break;
|
||||
}
|
||||
|
||||
case SPELL_MINOR_SHAPESHIFT_SAVAGERY:
|
||||
{
|
||||
nBonus = GetLocalInt(oPC, "MinorShapeshiftBonus");
|
||||
nDuration = nBonus;
|
||||
|
||||
eVis = EffectVisualEffect(VFX_IMP_POLYMORPH);
|
||||
|
||||
if (nBonus == 0)
|
||||
{
|
||||
FloatingTextStringOnCreature("You do not have a spell available of adequate level or type", oPC, FALSE);
|
||||
return;
|
||||
}
|
||||
|
||||
GZPRCRemoveSpellEffects(SPELL_MINOR_SHAPESHIFT_MIGHT, oPC, FALSE);
|
||||
GZPRCRemoveSpellEffects(SPELL_MINOR_SHAPESHIFT_MOBILITY, oPC, FALSE);
|
||||
GZPRCRemoveSpellEffects(SPELL_MINOR_SHAPESHIFT_SAVAGERY, oPC, FALSE);
|
||||
GZPRCRemoveSpellEffects(SPELL_MINOR_SHAPESHIFT_SPEED, oPC, FALSE);
|
||||
GZPRCRemoveSpellEffects(SPELL_MINOR_SHAPESHIFT_VIGOR, oPC, FALSE);
|
||||
break;
|
||||
}
|
||||
|
||||
case SPELL_MINOR_SHAPESHIFT_SPEED:
|
||||
{
|
||||
nBonus = GetLocalInt(oPC, "MinorShapeshiftBonus");
|
||||
nDuration = nBonus;
|
||||
|
||||
eEffect = EffectMovementSpeedIncrease(15);
|
||||
eEffect = SupernaturalEffect(eEffect);
|
||||
eVis = EffectVisualEffect(VFX_IMP_POLYMORPH);
|
||||
|
||||
if (nBonus == 0)
|
||||
{
|
||||
FloatingTextStringOnCreature("You do not have a spell available of adequate level or type", oPC, FALSE);
|
||||
return;
|
||||
}
|
||||
|
||||
GZPRCRemoveSpellEffects(SPELL_MINOR_SHAPESHIFT_MIGHT, oPC, FALSE);
|
||||
GZPRCRemoveSpellEffects(SPELL_MINOR_SHAPESHIFT_MOBILITY, oPC, FALSE);
|
||||
GZPRCRemoveSpellEffects(SPELL_MINOR_SHAPESHIFT_SAVAGERY, oPC, FALSE);
|
||||
GZPRCRemoveSpellEffects(SPELL_MINOR_SHAPESHIFT_SPEED, oPC, FALSE);
|
||||
GZPRCRemoveSpellEffects(SPELL_MINOR_SHAPESHIFT_VIGOR, oPC, FALSE);
|
||||
break;
|
||||
}
|
||||
|
||||
case SPELL_MINOR_SHAPESHIFT_VIGOR:
|
||||
{
|
||||
nBonus = GetLocalInt(oPC, "MinorShapeshiftBonus");
|
||||
nDuration = nBonus;
|
||||
nHD = GetHitDice(oPC);
|
||||
|
||||
eEffect = EffectTemporaryHitpoints(nHD);
|
||||
eEffect = SupernaturalEffect(eEffect);
|
||||
eVis = EffectVisualEffect(VFX_IMP_POLYMORPH);
|
||||
|
||||
if (nBonus == 0)
|
||||
{
|
||||
FloatingTextStringOnCreature("You do not have a spell available of adequate level or type", oPC, FALSE);
|
||||
return;
|
||||
}
|
||||
|
||||
GZPRCRemoveSpellEffects(SPELL_MINOR_SHAPESHIFT_MIGHT, oPC, FALSE);
|
||||
GZPRCRemoveSpellEffects(SPELL_MINOR_SHAPESHIFT_MOBILITY, oPC, FALSE);
|
||||
GZPRCRemoveSpellEffects(SPELL_MINOR_SHAPESHIFT_SAVAGERY, oPC, FALSE);
|
||||
GZPRCRemoveSpellEffects(SPELL_MINOR_SHAPESHIFT_SPEED, oPC, FALSE);
|
||||
GZPRCRemoveSpellEffects(SPELL_MINOR_SHAPESHIFT_VIGOR, oPC, FALSE);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (nSpellID != SPELL_MINOR_SHAPESHIFT_SAVAGERY)
|
||||
{
|
||||
ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oPC);
|
||||
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eEffect, oPC, RoundsToSeconds(nDuration));
|
||||
}
|
||||
else
|
||||
{
|
||||
ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oPC);
|
||||
sResRef = "prc_claw_1d6l_";
|
||||
// Gets up to the proper size
|
||||
nSize = PRCGetCreatureSize(oPC) + 1;
|
||||
sResRef += GetAffixForSize(nSize);
|
||||
AddNaturalPrimaryWeapon(oPC, sResRef, 2);
|
||||
DelayCommand(RoundsToSeconds(nBonus), RemoveNaturalPrimaryWeapon(oPC, sResRef));
|
||||
DelayCommand((RoundsToSeconds(nBonus) + 0.2), RemoveClaws(oPC, sResRef));
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user