PRC8/trunk/newspellbook/shd_childnight.nss
Jaysyn904 1662218bb4 Initial upload.
Adding base PRC 4.19a files to repository.
2022-10-07 13:51:24 -04:00

37 lines
1.4 KiB
Plaintext

#include "prc_inc_function"
#include "shd_inc_shdfunc"
void main()
{
int nEvent = GetRunningEvent();
if(DEBUG) DoDebug("shd_childnight running, event: " + IntToString(nEvent));
// Get the PC. This is event-dependent
object oShadow = OBJECT_SELF;
// We aren't being called from any event, instead from EvalPRCFeats
if(nEvent == FALSE)
{
int nChild = GetLevelByClass(CLASS_TYPE_CHILD_OF_NIGHT);
object oSkin = GetPCSkin(oShadow);
itemproperty ipIP;
SetCompositeBonus(oSkin, "ChildNightHide", nChild, ITEM_PROPERTY_SKILL_BONUS, SKILL_HIDE);
if (nChild >= 9)
ipIP =ItemPropertyDamageResistance(IP_CONST_DAMAGETYPE_COLD, IP_CONST_DAMAGERESIST_15);
else if (nChild >= 5)
ipIP =ItemPropertyDamageResistance(IP_CONST_DAMAGETYPE_COLD, IP_CONST_DAMAGERESIST_10);
else
ipIP =ItemPropertyDamageResistance(IP_CONST_DAMAGETYPE_COLD, IP_CONST_DAMAGERESIST_5);
IPSafeAddItemProperty(oSkin, ipIP, 0.0, X2_IP_ADDPROP_POLICY_REPLACE_EXISTING, FALSE, FALSE);
if (nChild >= 8)
ApplyEffectToObject(DURATION_TYPE_PERMANENT, SupernaturalEffect(EffectConcealment(20)), oShadow);
if (nChild >= 8)
ApplyEffectToObject(DURATION_TYPE_PERMANENT, ExtraordinaryEffect(EffectImmunity(IMMUNITY_TYPE_SLEEP)), oShadow);
}
}