WoR_PRC8/_module/nss/s_respwn_vampir.nss
Jaysyn904 b5e28e52f4 Initial commit
Initial commit [1.18]
2025-04-03 11:49:34 -04:00

68 lines
2.6 KiB
Plaintext

#include "sha_subr_methds"
#include "prc_inc_spells"
#include "prc_inc_template"
void ClearAllFactionMembers(object oPlayer, object oMember)
{
AdjustReputation(oPlayer, oMember, 100);
AdjustReputation(oPlayer, oMember, -50);
// Clear all faction members' reputations
object oClear = GetFirstFactionMember(oMember, FALSE);
while (GetIsObjectValid(oClear) == TRUE)
{
ClearPersonalReputation(oPlayer, oClear);
oClear = GetNextFactionMember(oMember, FALSE);
}
}
void main()
{
object oPC = OBJECT_SELF;
string Subrace = GetStringLowerCase(GetSubRace(OBJECT_SELF));
if(MyPRCGetRacialType(OBJECT_SELF) != RACIAL_TYPE_UNDEAD &&
GetHasTemplate(TEMPLATE_ARCHLICH, OBJECT_SELF) == TRUE ||
GetLevelByClass(CLASS_TYPE_BAELNORN, OBJECT_SELF) == TRUE)
{
return;
}
object Vampire = GetObjectByTag("FACTION_VAMPIRE");
ClearAllFactionMembers(oPC, Vampire);
object Commoner = GetObjectByTag("COMMONER_FACTION");
object Defender = GetObjectByTag("DEFENDER_FACTION");
object Merchant = GetObjectByTag("MERCHANT_FACTION");
object Dryad = GetObjectByTag("FACTION_DRYAD");
object Ranger = GetObjectByTag("FACTION_RANGER");
object Mage = GetObjectByTag("FACTION_MAGE");
object Monk = GetObjectByTag("FACTION_MONK");
object Bard = GetObjectByTag("FACTION_BARD");
object Rogue = GetObjectByTag("FACTION_ROGUE");
object Barbarian = GetObjectByTag("FACTION_BARBARIAN");
object Fighter = GetObjectByTag("FACTION_FIGHTER");
object Paladin = GetObjectByTag("FACTION_PALADIN");
object Druid = GetObjectByTag("FACTION_DRUID");
object Tanzantor = GetObjectByTag("FACTION_TANZANTOR");
AdjustReputation(oPC, Vampire, 100);
AdjustReputation(oPC, Commoner, -100);
// SetStandardFactionReputation(STANDARD_FACTION_COMMONER, -100, oPC);
AdjustReputation(oPC, Merchant, -100);
// SetStandardFactionReputation(STANDARD_FACTION_MERCHANT, -100, oPC);
AdjustReputation(oPC, Defender, -100);
//SetStandardFactionReputation(STANDARD_FACTION_DEFENDER, -100, oPC);
AdjustReputation(oPC, Dryad, -100);
AdjustReputation(oPC, Ranger, -100);
AdjustReputation(oPC, Mage, -100);
AdjustReputation(oPC, Monk, -100);
AdjustReputation(oPC, Bard, -100);
AdjustReputation(oPC, Rogue, -100);
AdjustReputation(oPC, Barbarian, -100);
AdjustReputation(oPC, Fighter, -100);
AdjustReputation(oPC, Paladin, -100);
AdjustReputation(oPC, Druid, -100);
AdjustReputation(oPC, Tanzantor, -100);
SHA_SendSubraceMessageToPC(oPC, "Your faction has been adjusted to Undead.");
}