Clear out experimental .35 files
Clear out experimental .35 files
This commit is contained in:
@@ -1,134 +0,0 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: Warlock
|
||||
//:: inv_warlock.nss
|
||||
//::///////////////////////////////////////////////
|
||||
/*
|
||||
Handles the passive bonuses for Warlocks
|
||||
*/
|
||||
//:://////////////////////////////////////////////
|
||||
//:: Created By: Fox
|
||||
//:: Created On: Feb 29, 2008
|
||||
//:://////////////////////////////////////////////
|
||||
|
||||
#include "prc_alterations"
|
||||
#include "inv_inc_invfunc"
|
||||
|
||||
// Armour and Shield combined, up to Medium/Large shield.
|
||||
/*void ReducedASF(object oCreature, object oSkin)
|
||||
{
|
||||
object oArmor = GetItemInSlot(INVENTORY_SLOT_CHEST, oCreature);
|
||||
object oShield = GetItemInSlot(INVENTORY_SLOT_LEFTHAND, oCreature);
|
||||
int nAC = GetBaseAC(oArmor);
|
||||
int iBonus = GetLocalInt(oSkin, "WarlockArmourCasting");
|
||||
int nASF = -1;
|
||||
itemproperty ip;
|
||||
|
||||
// First thing is to remove old ASF (in case armor is changed.)
|
||||
if (iBonus != -1)
|
||||
RemoveSpecificProperty(oSkin, ITEM_PROPERTY_ARCANE_SPELL_FAILURE, -1, iBonus, 1, "WarlockArmourCasting");
|
||||
|
||||
// As long as they meet the requirements, just give em max ASF reduction
|
||||
// I know it could cause problems if they have increased ASF, but thats unlikely
|
||||
if (3 >= nAC && GetBaseItemType(oShield) != BASE_ITEM_TOWERSHIELD && GetBaseItemType(oShield) != BASE_ITEM_LARGESHIELD)
|
||||
nASF = IP_CONST_ARCANE_SPELL_FAILURE_MINUS_25_PERCENT;
|
||||
|
||||
// Apply the ASF to the skin.
|
||||
ip = ItemPropertyArcaneSpellFailure(nASF);
|
||||
|
||||
AddItemProperty(DURATION_TYPE_PERMANENT, ip, oSkin);
|
||||
SetLocalInt(oSkin, "WarlockArmourCasting", nASF);
|
||||
}*/
|
||||
|
||||
void main()
|
||||
{
|
||||
object oSkin = GetPCSkin(OBJECT_SELF);
|
||||
int nClass = GetLevelByClass(CLASS_TYPE_WARLOCK);
|
||||
int nHellFire = GetLevelByClass(CLASS_TYPE_HELLFIRE_WARLOCK);
|
||||
int nTheurge = GetLevelByClass(CLASS_TYPE_ELDRITCH_THEURGE);
|
||||
int bMasterOfElements = GetHasFeat(FEAT_MASTER_OF_THE_ELEMENTS) ? IP_CONST_DAMAGERESIST_10 : 0;
|
||||
|
||||
//ReducedASF(OBJECT_SELF, oSkin);
|
||||
|
||||
//Reduction
|
||||
if(nClass > 2 || nTheurge)
|
||||
{
|
||||
int nRedAmt = (nClass + 1) / 4;
|
||||
nRedAmt += (nTheurge + 2) / 3;
|
||||
effect eReduction = EffectDamageReduction(nRedAmt, DAMAGE_POWER_PLUS_THREE);
|
||||
ApplyEffectToObject(DURATION_TYPE_PERMANENT, ExtraordinaryEffect(eReduction), OBJECT_SELF);
|
||||
}
|
||||
|
||||
if(GetHasFeat(FEAT_WARLOCK_SHADOWMASTER))
|
||||
AddSkinFeat(FEAT_WARLOCK_SHADOWMASTER_SHADES, IP_CONST_FEAT_SHADOWMASTER_SHADES, oSkin);
|
||||
|
||||
if(GetHasFeat(FEAT_PARAGON_VISIONARY))
|
||||
{
|
||||
int nSkillBonus = max(2 * GetAbilityModifier(ABILITY_WISDOM, OBJECT_SELF), 6);
|
||||
effect eLink = EffectLinkEffects(EffectUltravision(), EffectSeeInvisible());
|
||||
eLink = EffectLinkEffects(eLink, EffectSkillIncrease(SKILL_SPOT, nSkillBonus));
|
||||
eLink = EffectLinkEffects(eLink, EffectSkillIncrease(SKILL_LISTEN, nSkillBonus));
|
||||
eLink = EffectLinkEffects(eLink, EffectSkillIncrease(SKILL_SENSE_MOTIVE, nSkillBonus));
|
||||
eLink = ExtraordinaryEffect(eLink);
|
||||
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eLink, OBJECT_SELF);
|
||||
}
|
||||
|
||||
//Energy Resistance
|
||||
int nResistAmt = nClass >= 20 ? IP_CONST_DAMAGERESIST_10 : IP_CONST_DAMAGERESIST_5;
|
||||
|
||||
if(GetHasFeat(FEAT_WARLOCK_RESIST_ACID))
|
||||
{
|
||||
itemproperty ipIP = ItemPropertyDamageResistance(IP_CONST_DAMAGETYPE_ACID, nResistAmt);
|
||||
IPSafeAddItemProperty(oSkin, ipIP, 0.0, X2_IP_ADDPROP_POLICY_REPLACE_EXISTING, FALSE, FALSE);
|
||||
}
|
||||
if(GetHasFeat(FEAT_WARLOCK_RESIST_COLD))
|
||||
{
|
||||
itemproperty ipIP = ItemPropertyDamageResistance(IP_CONST_DAMAGETYPE_COLD, nResistAmt);
|
||||
IPSafeAddItemProperty(oSkin, ipIP, 0.0, X2_IP_ADDPROP_POLICY_REPLACE_EXISTING, FALSE, FALSE);
|
||||
}
|
||||
if(GetHasFeat(FEAT_WARLOCK_RESIST_ELEC))
|
||||
{
|
||||
itemproperty ipIP = ItemPropertyDamageResistance(IP_CONST_DAMAGETYPE_ELECTRICAL, nResistAmt);
|
||||
IPSafeAddItemProperty(oSkin, ipIP, 0.0, X2_IP_ADDPROP_POLICY_REPLACE_EXISTING, FALSE, FALSE);
|
||||
}
|
||||
if(GetHasFeat(FEAT_WARLOCK_RESIST_SONIC))
|
||||
{
|
||||
itemproperty ipIP = ItemPropertyDamageResistance(IP_CONST_DAMAGETYPE_SONIC, nResistAmt);
|
||||
IPSafeAddItemProperty(oSkin, ipIP, 0.0, X2_IP_ADDPROP_POLICY_REPLACE_EXISTING, FALSE, FALSE);
|
||||
}
|
||||
|
||||
int nFireResist;
|
||||
if(GetHasFeat(FEAT_WARLOCK_RESIST_FIRE))
|
||||
nFireResist = nResistAmt;
|
||||
if(nHellFire > 1)
|
||||
nFireResist += IP_CONST_DAMAGERESIST_10;
|
||||
if(nFireResist)
|
||||
{
|
||||
itemproperty ipIP = ItemPropertyDamageResistance(IP_CONST_DAMAGETYPE_FIRE, nFireResist);
|
||||
IPSafeAddItemProperty(oSkin, ipIP, 0.0, X2_IP_ADDPROP_POLICY_REPLACE_EXISTING, FALSE, FALSE);
|
||||
}
|
||||
|
||||
//Hellfire Warlock
|
||||
if(nHellFire)
|
||||
{
|
||||
if(GetHasInvocation(INVOKE_ELDRITCH_SPEAR))
|
||||
AddSkinFeat(FEAT_HELLFIRE_SPEAR, IP_FEAT_HELLFIRE_SPEAR, oSkin);
|
||||
|
||||
if(GetHasInvocation(INVOKE_ELDRITCH_GLAIVE))
|
||||
AddSkinFeat(FEAT_HELLFIRE_GLAIVE, IP_FEAT_HELLFIRE_GLAIVE, oSkin);
|
||||
|
||||
if(GetHasInvocation(INVOKE_HIDEOUS_BLOW))
|
||||
AddSkinFeat(FEAT_HELLFIRE_BLOW, IP_FEAT_HELLFIRE_BLOW, oSkin);
|
||||
|
||||
if(GetHasInvocation(INVOKE_ELDRITCH_CHAIN))
|
||||
AddSkinFeat(FEAT_HELLFIRE_CHAIN, IP_FEAT_HELLFIRE_CHAIN, oSkin);
|
||||
|
||||
if(GetHasInvocation(INVOKE_ELDRITCH_CONE))
|
||||
AddSkinFeat(FEAT_HELLFIRE_CONE, IP_FEAT_HELLFIRE_CONE, oSkin);
|
||||
|
||||
if(GetHasInvocation(INVOKE_ELDRITCH_LINE))
|
||||
AddSkinFeat(FEAT_HELLFIRE_LINE, IP_FEAT_HELLFIRE_LINE, oSkin);
|
||||
|
||||
if(GetHasInvocation(INVOKE_ELDRITCH_DOOM))
|
||||
AddSkinFeat(FEAT_HELLFIRE_DOOM, IP_FEAT_HELLFIRE_DOOM, oSkin);
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user