PRC8/nwn/nwnprc/trunk/ocfixerf/x2_acquired.nss
Jaysyn904 6ec137a24e Updated AMS marker feats
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.
2024-02-11 14:01:05 -05:00

70 lines
2.3 KiB
Plaintext

// On-item acquired: handle any global items and send a local user-defined event to the module
// to hanlde any other plot items.
#include "x2_inc_intweapon"
void main()
{
object oItem = GetModuleItemAcquired();
object oPC = GetModuleItemAcquiredBy();
object oFrom = GetModuleItemAcquiredFrom();
// Player tries to give the deva an item other then her mace
if(GetTag(oPC) == "q3c_Lavoera" && GetTag(oItem) != "q3_dist_mace" )
{
SendMessageToPCByStrRef(oFrom, 100776);
AssignCommand(oPC, ClearAllActions());
DelayCommand(0.2, AssignCommand(oPC, ActionGiveItem(oItem, oFrom)));
}
else if (!GetIsPC(oPC))
{
return;
}
/*else if(GetTag(oItem) == "q3_artifact")
{
object oSparks = GetNearestObjectByTag("MagicSparksRed");
if(oSparks != OBJECT_INVALID)
DestroyObject(oSparks);
// The artifact from the draclich: some negative effects on user when acquired
effect eAbDec1 = EffectAbilityDecrease(ABILITY_CHARISMA, 4);
effect eAbDec2 = EffectAbilityDecrease(ABILITY_CONSTITUTION, 4);
effect eVis = EffectVisualEffect(VFX_IMP_REDUCE_ABILITY_SCORE);
effect eLink = EffectLinkEffects(eAbDec1, eAbDec2);
ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oPC);
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eLink, oPC);
} */
//the Intelligent weapon (starts off as the black longsword)
else if(GetTag(oItem) == "iw_fakelongsword")
{
if (GetIsPC(oPC) == FALSE)
return;
object oWeapon;
int nWeapon = GetLocalInt(GetModule(), "IW_CHGWPN");
if (nWeapon < 2)
{
oWeapon = CreateItemOnObject("iw_longsword", oPC);
}
else if (nWeapon == 2)
{
oWeapon = CreateItemOnObject("iw_dagger", oPC);
}
else if (nWeapon == 3)
{
oWeapon = CreateItemOnObject("iw_shortsword", oPC);
}
else if (nWeapon == 4)
{
oWeapon = CreateItemOnObject("iw_greatsword", oPC);
}
DestroyObject(oItem);
IWCreateIntelligentWeapon(oWeapon);
}
else
{
SetLocalObject(OBJECT_SELF, "X2_ITEM_ACQUIRED", oItem);
SetLocalObject(OBJECT_SELF, "X2_ITEM_ACQUIRED_BY", oPC);
SignalEvent(OBJECT_SELF, EventUserDefined(4554));
}
}