AOC_PRC8/_module/nss/enh_imbue.nss
Jaysyn904 5e558169a0 Initial Commit
Initial Commit
2025-04-03 11:24:16 -04:00

42 lines
1.1 KiB
Plaintext

#include "spawner"
#include "prc_x2_itemprop"
void Enhance(object oPC, object oItem)
{
int oDamage;
itemproperty ipAdd;
oDamage = IPGetWeaponEnhancementBonus(oItem,
ITEM_PROPERTY_ENHANCEMENT_BONUS);
++oDamage;
ipAdd = ItemPropertyEnhancementBonus(oDamage);
IPSafeAddItemProperty(oItem, ipAdd);
if (oDamage>=20) {
SetLocalInt(oItem, "enhancement_max", 1);
PCEffect(2.0,VFX_FNF_SUMMON_EPIC_UNDEAD, OBJECT_SELF);
Message(2.0, "*** Fully Upgraded ***", oPC);
}
}
void main ()
{
object oTarget;
object oItem;
object oPC = GetPCSpeaker();
int oDamage;
SetLocked(OBJECT_SELF, TRUE);
oItem = GetFirstItemInInventory(OBJECT_SELF);
while(GetIsObjectValid(oItem))
{
if (GetTag(oItem)=="coin1")
{DestroyObject(oItem);}
oItem = GetNextItemInInventory(OBJECT_SELF);
}
PCEffect(0.0,VFX_FNF_SUMMON_MONSTER_3, OBJECT_SELF);
PCEffect(1.0,VFX_DUR_ELEMENTAL_SHIELD, OBJECT_SELF);
PCEffect(1.5,VFX_FNF_ELECTRIC_EXPLOSION, OBJECT_SELF);
PCEffect(2.0,VFX_IMP_HARM, OBJECT_SELF);
DelayCommand(1.0, Enhance(oPC, GetFirstItemInInventory(OBJECT_SELF)));
DelayCommand(3.0, SetLocked(OBJECT_SELF, FALSE));
}