aboutsummaryrefslogtreecommitdiff
path: root/src/shared/Database/DBCStructure.h
diff options
context:
space:
mode:
authorQAston <none@none>2009-03-04 00:29:50 +0100
committerQAston <none@none>2009-03-04 00:29:50 +0100
commitd6b09015d6c1ac5c62e63d51aeb496c0cc2d3fe5 (patch)
tree183a759c6540c040174449502c0ce7552a6f5484 /src/shared/Database/DBCStructure.h
parent454f882cf238506bc12f593de71e97cd27e961e8 (diff)
parentc113bf884f9523745f22aae78cde80903b2ba192 (diff)
*Merge.
--HG-- branch : trunk
Diffstat (limited to 'src/shared/Database/DBCStructure.h')
-rw-r--r--src/shared/Database/DBCStructure.h34
1 files changed, 25 insertions, 9 deletions
diff --git a/src/shared/Database/DBCStructure.h b/src/shared/Database/DBCStructure.h
index 975dbf300f1..bfbdbf59c6c 100644
--- a/src/shared/Database/DBCStructure.h
+++ b/src/shared/Database/DBCStructure.h
@@ -735,24 +735,40 @@ struct FactionTemplateEntry
{
if(ID == entry.ID)
return true;
- if(enemyFaction[0] == entry.faction || enemyFaction[1] == entry.faction || enemyFaction[2] == entry.faction || enemyFaction[3] == entry.faction )
- return false;
- if(friendFaction[0] == entry.faction || friendFaction[1] == entry.faction || friendFaction[2] == entry.faction || friendFaction[3] == entry.faction )
- return true;
+ if(entry.faction)
+ {
+ for(int i = 0; i < 4; ++i)
+ if (enemyFaction[i] == entry.faction)
+ return false;
+ for(int i = 0; i < 4; ++i)
+ if (friendFaction[i] == entry.faction)
+ return true;
+ }
return (friendlyMask & entry.ourMask) || (ourMask & entry.friendlyMask);
}
bool IsHostileTo(FactionTemplateEntry const& entry) const
{
if(ID == entry.ID)
return false;
- if(enemyFaction[0] == entry.faction || enemyFaction[1] == entry.faction || enemyFaction[2] == entry.faction || enemyFaction[3] == entry.faction )
- return true;
- if(friendFaction[0] == entry.faction || friendFaction[1] == entry.faction || friendFaction[2] == entry.faction || friendFaction[3] == entry.faction )
- return false;
+ if(entry.faction)
+ {
+ for(int i = 0; i < 4; ++i)
+ if (enemyFaction[i] == entry.faction)
+ return true;
+ for(int i = 0; i < 4; ++i)
+ if (friendFaction[i] == entry.faction)
+ return false;
+ }
return (hostileMask & entry.ourMask) != 0;
}
bool IsHostileToPlayers() const { return (hostileMask & FACTION_MASK_PLAYER) !=0; }
- bool IsNeutralToAll() const { return hostileMask == 0 && friendlyMask == 0 && enemyFaction[0]==0 && enemyFaction[1]==0 && enemyFaction[2]==0 && enemyFaction[3]==0; }
+ bool IsNeutralToAll() const
+ {
+ for(int i = 0; i < 4; ++i)
+ if (enemyFaction[i] != 0)
+ return false;
+ return hostileMask == 0 && friendlyMask == 0;
+ }
bool IsContestedGuardFaction() const { return (factionFlags & FACTION_TEMPLATE_FLAG_CONTESTED_GUARD)!=0; }
};