Files
HeroesStone_PRC8/_module/nss/hs_include.nss
Jaysyn904 1eefc84201 Initial Commit
Initial Commit.
2025-09-14 15:40:46 -04:00

49 lines
1.3 KiB
Plaintext

//::////////////////////////////////////////////////////////
//:: hs_include.nss
//:
/*
Catch-all include for missing module scripts.
*/
//:
//::
//::////////////////////////////////////////////////////////
#include "nw_i0_plot"
void RemoveXPFromParty(int nXP, object oPC, int bSplit)
{
object oMember;
int nXPToRemove = 0;
int nPartyCount = 0;
// If splitting the XP, first count the party members.
if (bSplit)
{
oMember = GetFirstFactionMember(oPC);
while (oMember != OBJECT_INVALID)
{
nPartyCount++;
oMember = GetNextFactionMember(oPC);
}
// Avoid division by zero; if no party members, count the PC itself.
if (nPartyCount <= 0)
nPartyCount = 1;
nXPToRemove = nXP / nPartyCount;
}
else
{
// If not splitting, each member loses the full XP amount.
nXPToRemove = nXP;
}
// Remove the XP from every party member.
oMember = GetFirstFactionMember(oPC);
while (oMember != OBJECT_INVALID)
{
// Subtract XP by adding a negative value.
// (Note: Ensure that AddXP in your module supports negative values.)
GiveXPToCreature(oMember, -nXPToRemove);
oMember = GetNextFactionMember(oPC);
}
}