#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."); }