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.
51 lines
1.6 KiB
Plaintext
51 lines
1.6 KiB
Plaintext
//::///////////////////////////////////////////////
|
|
//:: Blood Magus
|
|
//:: prc_bloodmagus.nss
|
|
//:://////////////////////////////////////////////
|
|
//:: Check to see which Blood Magus feats a creature
|
|
//:: has and apply the appropriate bonuses.
|
|
//:://////////////////////////////////////////////
|
|
//:: Created By: Stratovarius
|
|
//:: Created On: Sept 3, 2005
|
|
//:://////////////////////////////////////////////
|
|
|
|
#include "prc_alterations"
|
|
|
|
/// Class level to Conc /////////
|
|
void DurableCasting(object oPC, object oSkin, int nBlood)
|
|
{
|
|
|
|
if(GetLocalInt(oSkin, "DurableCasting") == nBlood) return;
|
|
|
|
SetCompositeBonus(oSkin, "DurableCasting", nBlood, ITEM_PROPERTY_SKILL_BONUS, SKILL_CONCENTRATION);
|
|
}
|
|
|
|
void Infusion(object oPC, object oSkin, int iLevel)
|
|
{
|
|
string sFlag = "BloodMagusInfusion";
|
|
|
|
if(GetLocalInt(oSkin, sFlag) == iLevel) return;
|
|
|
|
SetCompositeBonus(oSkin, sFlag, iLevel, ITEM_PROPERTY_ABILITY_BONUS, IP_CONST_ABILITY_CON);
|
|
}
|
|
|
|
void ThickerThanWater(object oPC, object oSkin)
|
|
{
|
|
if(GetLocalInt(oSkin, "ThickerThanWater") == TRUE) return;
|
|
|
|
AddItemProperty(DURATION_TYPE_PERMANENT, ItemPropertyDamageResistance(IP_CONST_DAMAGETYPE_PIERCING, IP_CONST_DAMAGERESIST_1), oSkin);
|
|
AddItemProperty(DURATION_TYPE_PERMANENT, ItemPropertyDamageResistance(IP_CONST_DAMAGETYPE_SLASHING, IP_CONST_DAMAGERESIST_1), oSkin);
|
|
SetLocalInt(oSkin, "ThickerThanWater", TRUE);
|
|
}
|
|
|
|
void main()
|
|
{
|
|
object oPC = OBJECT_SELF;
|
|
object oSkin = GetPCSkin(oPC);
|
|
int nBlood = GetLevelByClass(CLASS_TYPE_BLOOD_MAGUS, oPC);
|
|
|
|
if(nBlood >= 1) DurableCasting(oPC, oSkin, nBlood);
|
|
if(nBlood >= 7) ThickerThanWater(oPC, oSkin);
|
|
if(nBlood >= 9) Infusion(oPC, oSkin, 2);
|
|
}
|