94 lines
2.8 KiB
Plaintext
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);
|
|
}
|
|
|
|
}
|