///////////////////////////////////// //*********************************// //********Created by Buldog********// //*********************************// //*********Date: 04.04.2005********// //*********************************// //*******Modified by Buldog********// //*********************************// //*********Date: 20.04.2005********// //*********************************// /////////////////////////////////////
//Drows - Humans Good, Humans Neutral, Elfs, Halflings //Half-Elfs - Half-Orcs, Drows, Humans Evil //Halflings - Half-Orcs, Drows, Humans Evil //Half-Orcs - Elfs, Humans Good, Halflings //Humans Good - Half-Orcs, Drows, Humans Evil //Humans Evil - Elfs, Humans Good, Halflings //Humans Neutral - Half-Orcs, Drows //Elfs - Half-Orcs, Drows, Humans Evil //Gnomes, Dwarfs - No enemies
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) { SetPCDislike(oTest, oPC); } if(nPCRace == RACIAL_TYPE_HALFORC) { SetPCDislike(oTest, oPC); } if(nPCRace == RACIAL_TYPE_ELF) { if(TestStringAgainstPattern("**DROW**", sSubRace) || TestStringAgainstPattern("**DARK**", sSubRace)) { SetPCDislike(oTest, oPC); } } } if(nTRace == RACIAL_TYPE_HUMAN && nTAlign == ALIGNMENT_NEUTRAL) { if(nPCRace == RACIAL_TYPE_HALFORC) { SetPCDislike(oTest, oPC); } if(nPCRace == RACIAL_TYPE_ELF) { if(TestStringAgainstPattern("**DROW**", sSubRace) || TestStringAgainstPattern("**DARK**", sSubRace)) { SetPCDislike(oTest, oPC); } } } if(nTRace == RACIAL_TYPE_HUMAN && nTAlign == ALIGNMENT_EVIL) { if(nPCRace == RACIAL_TYPE_HUMAN && nAlign == ALIGNMENT_GOOD) { SetPCDislike(oTest, oPC); } if(nPCRace == RACIAL_TYPE_ELF || nPCRace == RACIAL_TYPE_HALFELF) { if(!TestStringAgainstPattern("**DROW**", sSubRace) && !TestStringAgainstPattern("**DARK**", sSubRace)) { SetPCDislike(oTest, oPC); } } if(nPCRace == RACIAL_TYPE_HALFLING) { 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) { SetPCDislike(oTest, oPC); } if(nPCRace == RACIAL_TYPE_ELF || nPCRace == RACIAL_TYPE_HALFELF) { if(!TestStringAgainstPattern("**DROW**", sSubRace) && !TestStringAgainstPattern("**DARK**", sSubRace)) { SetPCDislike(oTest, oPC); } } if(nPCRace == RACIAL_TYPE_HALFLING) { SetPCDislike(oTest, oPC); } } else { if(nPCRace == RACIAL_TYPE_ELF) { if(TestStringAgainstPattern("**DROW**", sSubRace) || TestStringAgainstPattern("**DARK**", sSubRace)) { SetPCDislike(oTest, oPC); } } if(nPCRace == RACIAL_TYPE_HALFORC) { SetPCDislike(oTest, oPC); } if(nPCRace == RACIAL_TYPE_HUMAN && nAlign == ALIGNMENT_EVIL) { SetPCDislike(oTest, oPC); } } } if(nTRace == RACIAL_TYPE_HALFLING) { if(nPCRace == RACIAL_TYPE_ELF) { if(TestStringAgainstPattern("**DROW**", sSubRace) || TestStringAgainstPattern("**DARK**", sSubRace)) { SetPCDislike(oTest, oPC); } } if(nPCRace == RACIAL_TYPE_HALFORC) { SetPCDislike(oTest, oPC); } if(nPCRace == RACIAL_TYPE_HUMAN && nAlign == ALIGNMENT_EVIL) { SetPCDislike(oTest, oPC); } } if(nTRace == RACIAL_TYPE_HALFORC) { if(nPCRace == RACIAL_TYPE_HUMAN && nAlign == ALIGNMENT_GOOD || nPCRace == RACIAL_TYPE_HUMAN && nAlign == ALIGNMENT_NEUTRAL) { SetPCDislike(oTest, oPC); } if(nPCRace == RACIAL_TYPE_ELF || nPCRace == RACIAL_TYPE_HALFELF) { if(!TestStringAgainstPattern("**DROW**", sSubRace) && !TestStringAgainstPattern("**DARK**", sSubRace)) { SetPCDislike(oTest, oPC); } } if(nPCRace == RACIAL_TYPE_HALFLING) { SetPCDislike(oTest, oPC); } } } oPC = GetNextPC(); } }
void main() { //Autodislike object oPC = GetEnteringObject();
if(GetIsPC(oPC) && !GetIsDM(oPC)) SetDislike(oPC); } |