///////////////////////// /***********************/ /***Created by Buldog***/ /***********************/ /*** Date: 04.04.2005***/ /***********************/ /////////////////////////
void CheckParty(object oPC1, object oPC2) { object oPM = GetFirstFactionMember(oPC1); object oGood, oEvil;
int g = 0, e = 0, nRace, nAlign; int nAlign1 = GetAlignmentGoodEvil(oPC1); int nRace1 = GetRacialType(oPC1);
string sSR1 = GetStringUpperCase(GetSubRace(oPC1)); string sSR;
if(nRace1 == RACIAL_TYPE_HALFORC || nRace1 == RACIAL_TYPE_ELF && TestStringAgainstPattern("**DROW**", sSR1) || nRace1 == RACIAL_TYPE_ELF && TestStringAgainstPattern("**DARK**", sSR1) || nRace1 == RACIAL_TYPE_HUMAN && nAlign1 == ALIGNMENT_EVIL) { oEvil = oPC1; oGood = oPC2; } else { oEvil = oPC2; oGood = oPC1; }
while(GetIsObjectValid(oPM)) { nRace = GetRacialType(oPM); nAlign = GetAlignmentGoodEvil(oPM); sSR = GetStringUpperCase(GetSubRace(oPM));
if(nRace == RACIAL_TYPE_HALFORC || nRace == RACIAL_TYPE_ELF && TestStringAgainstPattern("**DROW**", sSR) || nRace == RACIAL_TYPE_ELF && TestStringAgainstPattern("**DARK**", sSR) || nRace == RACIAL_TYPE_HUMAN && nAlign == ALIGNMENT_EVIL) { e++; } else { g++; }
oPM = GetNextFactionMember(oPC1); }
if(e > g) { RemoveFromParty(oGood); } else { RemoveFromParty(oEvil); } }
void SetDislike(object oTest) { object oFL, oTFL, oPC = GetFirstPC();
int nPCRace, nTRace, nLike, nTLike, nAlign, nTAlign;
string sSubRace, sTSubRace, sArea;
nTRace = GetRacialType(oTest); nTAlign = GetAlignmentGoodEvil(oTest); sTSubRace = GetStringUpperCase(GetSubRace(oTest)); sArea = GetTag(GetArea(oTest)); oTFL = GetFactionLeader(oTest);
while(GetIsObjectValid(oPC)) { nPCRace = GetRacialType(oPC); nAlign = GetAlignmentGoodEvil(oPC); nLike = GetIsEnemy(oTest, oPC); nTLike = GetIsEnemy(oPC, oTest); sSubRace = GetStringUpperCase(GetSubRace(oPC)); oFL = GetFactionLeader(oPC);
if(nLike && !nTLike) SetPCLike(oTest, oPC); if(!nLike && nTLike) SetPCLike(oPC, oTest);
if(!nLike && sArea != "Arena" && oPC != oTest && !GetIsDM(oPC)) { if(nTRace == RACIAL_TYPE_HUMAN && nTAlign == ALIGNMENT_GOOD) { if(nPCRace == RACIAL_TYPE_HUMAN && nAlign == ALIGNMENT_EVIL) { if(oTFL == oFL) CheckParty(oTest, oPC); SetPCDislike(oTest, oPC); } if(nPCRace == RACIAL_TYPE_HALFORC) { if(oTFL == oFL) CheckParty(oTest, oPC); SetPCDislike(oTest, oPC); } if(nPCRace == RACIAL_TYPE_ELF) { if(TestStringAgainstPattern("**DROW**", sSubRace) || TestStringAgainstPattern("**DARK**", sSubRace)) { if(oTFL == oFL) CheckParty(oTest, oPC); SetPCDislike(oTest, oPC); } } } if(nTRace == RACIAL_TYPE_HUMAN && nTAlign == ALIGNMENT_NEUTRAL) { if(nPCRace == RACIAL_TYPE_HALFORC) { if(oTFL == oFL) CheckParty(oTest, oPC); SetPCDislike(oTest, oPC); } if(nPCRace == RACIAL_TYPE_ELF) { if(TestStringAgainstPattern("**DROW**", sSubRace) || TestStringAgainstPattern("**DARK**", sSubRace)) { if(oTFL == oFL) CheckParty(oTest, oPC); SetPCDislike(oTest, oPC); } } } if(nTRace == RACIAL_TYPE_HUMAN && nTAlign == ALIGNMENT_EVIL) { if(nPCRace == RACIAL_TYPE_HUMAN && nAlign == ALIGNMENT_GOOD) { if(oTFL == oFL) CheckParty(oTest, oPC); SetPCDislike(oTest, oPC); } if(nPCRace == RACIAL_TYPE_ELF || nPCRace == RACIAL_TYPE_HALFELF) { if(!TestStringAgainstPattern("**DROW**", sSubRace) && !TestStringAgainstPattern("**DARK**", sSubRace)) { if(oTFL == oFL) CheckParty(oTest, oPC); SetPCDislike(oTest, oPC); } } if(nPCRace == RACIAL_TYPE_HALFLING) { if(oTFL == oFL) CheckParty(oTest, oPC); SetPCDislike(oTest, oPC); } } if(nTRace == RACIAL_TYPE_ELF || nTRace == RACIAL_TYPE_HALFELF) { if(TestStringAgainstPattern("**DROW**", sTSubRace) || TestStringAgainstPattern("**DARK**", sTSubRace)) { if(nPCRace == RACIAL_TYPE_HUMAN && nAlign == ALIGNMENT_GOOD || nPCRace == RACIAL_TYPE_HUMAN && nAlign == ALIGNMENT_NEUTRAL) { if(oTFL == oFL) CheckParty(oTest, oPC); SetPCDislike(oTest, oPC); } if(nPCRace == RACIAL_TYPE_ELF || nPCRace == RACIAL_TYPE_HALFELF) { if(!TestStringAgainstPattern("**DROW**", sSubRace) && !TestStringAgainstPattern("**DARK**", sSubRace)) { if(oTFL == oFL) CheckParty(oTest, oPC); SetPCDislike(oTest, oPC); } } if(nPCRace == RACIAL_TYPE_HALFLING) { if(oTFL == oFL) CheckParty(oTest, oPC); SetPCDislike(oTest, oPC); } } else { if(nPCRace == RACIAL_TYPE_ELF) { if(TestStringAgainstPattern("**DROW**", sSubRace) || TestStringAgainstPattern("**DARK**", sSubRace)) { if(oTFL == oFL) CheckParty(oTest, oPC); SetPCDislike(oTest, oPC); } } if(nPCRace == RACIAL_TYPE_HALFORC) { if(oTFL == oFL) CheckParty(oTest, oPC); SetPCDislike(oTest, oPC); } if(nPCRace == RACIAL_TYPE_HUMAN && nAlign == ALIGNMENT_EVIL) { if(oTFL == oFL) CheckParty(oTest, oPC); SetPCDislike(oTest, oPC); } } } if(nTRace == RACIAL_TYPE_HALFLING) { if(nPCRace == RACIAL_TYPE_ELF) { if(TestStringAgainstPattern("**DROW**", sSubRace) || TestStringAgainstPattern("**DARK**", sSubRace)) { if(oTFL == oFL) CheckParty(oTest, oPC); SetPCDislike(oTest, oPC); } } if(nPCRace == RACIAL_TYPE_HALFORC) { if(oTFL == oFL) CheckParty(oTest, oPC); SetPCDislike(oTest, oPC); } if(nPCRace == RACIAL_TYPE_HUMAN && nAlign == ALIGNMENT_EVIL) { if(oTFL == oFL) CheckParty(oTest, oPC); SetPCDislike(oTest, oPC); } } if(nTRace == RACIAL_TYPE_HALFORC) { if(nPCRace == RACIAL_TYPE_HUMAN && nAlign == ALIGNMENT_GOOD || nPCRace == RACIAL_TYPE_HUMAN && nAlign == ALIGNMENT_NEUTRAL) { if(oTFL == oFL) CheckParty(oTest, oPC); SetPCDislike(oTest, oPC); } if(nPCRace == RACIAL_TYPE_ELF || nPCRace == RACIAL_TYPE_HALFELF) { if(!TestStringAgainstPattern("**DROW**", sSubRace) && !TestStringAgainstPattern("**DARK**", sSubRace)) { if(oTFL == oFL) CheckParty(oTest, oPC); SetPCDislike(oTest, oPC); } } if(nPCRace == RACIAL_TYPE_HALFLING) { if(oTFL == oFL) CheckParty(oTest, oPC); SetPCDislike(oTest, oPC); } } } oPC = GetNextPC(); } }
void main() { //Autodislike object oPC = GetFirstPC();
while(GetIsObjectValid(oPC)) { if(!GetIsDM(oPC)) SetDislike(oPC); oPC = GetNextPC(); } } |