UW2_PRC8/_module/nss/gc_prop_inc.nss
Jaysyn904 5197ad9a4d Initial upload
Initial upload
2023-09-25 20:24:01 -04:00

94 lines
2.8 KiB
Plaintext

/*--------------------------------------------------------
Script Name: gc_prop_inc
----------------------------------------------------------
Created By: Genisys(Guile)
Created On: 2/09/09
----------------------------------------------------------
This include is for my forge system, it will basically
scan items the PC is utilizing and then remove any
unwanted properties...
----------------------------------------------------------*/
#include "x2_inc_itemprop"
///////////////////////////////////////////////////////////////////////
//Remove all resistance from items..
void RemoveResist(object oTarget)
{
//Define Types to remove...
int nDamageType, nHPResist;
/*
switch(nDamageType)
{
case IP_CONST_DAMAGETYPE_POSITIVE: break;
case IP_CONST_DAMAGETYPE_NEGATIVE: break;
case IP_CONST_DAMAGETYPE_DIVINE: break;
case IP_CONST_DAMAGETYPE_MAGICAL: break;
}
switch(nHPResist)
{
case IP_CONST_DAMAGERESIST_5: break;
case IP_CONST_DAMAGERESIST_10: break;
case IP_CONST_DAMAGERESIST_15: break;
case IP_CONST_DAMAGERESIST_20: break;
case IP_CONST_DAMAGERESIST_25: break;
case IP_CONST_DAMAGERESIST_30: break;
case IP_CONST_DAMAGERESIST_35: break;
case IP_CONST_DAMAGERESIST_40: break;
case IP_CONST_DAMAGERESIST_45: break;
case IP_CONST_DAMAGERESIST_50: break;
}
*/
IPRemoveMatchingItemProperties(oTarget, ITEM_PROPERTY_DAMAGE_RESISTANCE, DURATION_TYPE_PERMANENT, IP_CONST_DAMAGETYPE_MAGICAL);
IPRemoveMatchingItemProperties(oTarget, ITEM_PROPERTY_DAMAGE_RESISTANCE, DURATION_TYPE_PERMANENT, IP_CONST_DAMAGETYPE_NEGATIVE);
IPRemoveMatchingItemProperties(oTarget, ITEM_PROPERTY_DAMAGE_RESISTANCE, DURATION_TYPE_PERMANENT, IP_CONST_DAMAGETYPE_POSITIVE);
IPRemoveMatchingItemProperties(oTarget, ITEM_PROPERTY_DAMAGE_RESISTANCE, DURATION_TYPE_PERMANENT, IP_CONST_DAMAGETYPE_DIVINE);
//IPRemoveMatchingItemProperties(oTarget, ITEM_PROPERTY_TRUE_SEEING, DURATION_TYPE_PERMANENT);
IPRemoveMatchingItemProperties(oTarget, ITEM_PROPERTY_IMPROVED_EVASION, DURATION_TYPE_PERMANENT);
IPRemoveMatchingItemProperties(oTarget, ITEM_PROPERTY_BONUS_FEAT, DURATION_TYPE_PERMANENT, IP_CONST_FEAT_HIDE_IN_PLAIN_SIGHT);
}
void CheckWorn(object oCreature)
{
object oItem;
int nSlot;
float fTime = 0.0;
for (nSlot=0; nSlot<NUM_INVENTORY_SLOTS; nSlot++)
{
oItem=GetItemInSlot(nSlot, oCreature);
//Scan the item if valid..
if (GetIsObjectValid(oItem))
{
fTime +=0.3;
DelayCommand(fTime, RemoveResist(oItem));
}
}
}
void CheckInventory(object oCreature)
{
object oItem;
float fTime = 0.0;
oItem = GetFirstItemInInventory(oCreature);
while(GetIsObjectValid(oItem))
{
fTime +=0.3;
DelayCommand(fTime, RemoveResist(oItem));
oItem = GetNextItemInInventory(oCreature);
}
}