public FactionFile.GuildGroups GetGuildGroup(int factionId)
        {
            PersistentFactionData persistentFactionData = GameManager.Instance.PlayerEntity.FactionData;

            FactionFile.GuildGroups guildGroup = FactionFile.GuildGroups.None;
            FactionFile.FactionData factionData;
            if (persistentFactionData.GetFactionData(factionId, out factionData))
            {
                guildGroup = (FactionFile.GuildGroups)factionData.ggroup;

                // Handle temples nested under deity
                if (factionData.children != null && (guildGroup == FactionFile.GuildGroups.None && factionData.children.Count > 0))
                {
                    FactionFile.FactionData firstChild;
                    if (persistentFactionData.GetFactionData(factionData.children[0], out firstChild))
                    {
                        guildGroup = (FactionFile.GuildGroups)firstChild.ggroup;
                    }
                }
            }
            Debug.LogFormat("Got guild for faction id: {0}, social group: {1}, guild: {2}",
                            factionId, (FactionFile.SocialGroups)factionData.sgroup, guildGroup);

            return(guildGroup);
        }
Exemple #2
0
        public FactionFile.GuildGroups GetGuildGroup(int factionId)
        {
            if (factionId == 510)   // Shops are marked as FG in faction data, hardcode to none to prevent them acting as FG guildhalls.
            {
                return(FactionFile.GuildGroups.None);
            }

            PersistentFactionData persistentFactionData = GameManager.Instance.PlayerEntity.FactionData;

            FactionFile.GuildGroups guildGroup = FactionFile.GuildGroups.None;
            FactionFile.FactionData factionData;
            if (persistentFactionData.GetFactionData(factionId, out factionData))
            {
                guildGroup = (FactionFile.GuildGroups)factionData.ggroup;

                // Handle temples nested under deity
                if (factionData.children != null && (guildGroup == FactionFile.GuildGroups.None && factionData.children.Count > 0))
                {
                    FactionFile.FactionData firstChild;
                    if (persistentFactionData.GetFactionData(factionData.children[0], out firstChild))
                    {
                        guildGroup = (FactionFile.GuildGroups)firstChild.ggroup;
                    }
                }
            }
            Debug.LogFormat("Got guild for faction id: {0}, social group: {1}, guild: {2}",
                            factionId, (FactionFile.SocialGroups)factionData.sgroup, guildGroup);

            return(guildGroup);
        }
Exemple #3
0
        private FactionFile.GuildGroups GetGuildGroup(int factionId)
        {
            PersistentFactionData persistentFactionData = GameManager.Instance.PlayerEntity.FactionData;

            FactionFile.GuildGroups guildGroup = FactionFile.GuildGroups.None;
            FactionFile.FactionData factionData;
            if (persistentFactionData.GetFactionData(factionId, out factionData))
            {
                guildGroup = (FactionFile.GuildGroups)factionData.ggroup;

                // Handle temples nested under deity
                if (guildGroup == FactionFile.GuildGroups.None && factionData.children.Count > 0)
                {
                    FactionFile.FactionData firstChild;
                    if (persistentFactionData.GetFactionData(factionData.children[0], out firstChild))
                    {
                        guildGroup = (FactionFile.GuildGroups)firstChild.ggroup;
                    }
                }
            }

            // Thieves guild is general populace / underworld
            if (guildGroup == FactionFile.GuildGroups.GeneralPopulace && (FactionFile.SocialGroups)factionData.sgroup == FactionFile.SocialGroups.Underworld)
            {
                Debug.Log("Theves Guild.");
            }

            Debug.LogFormat("faction id: {0}, social group: {1}, guild: {2}",
                            factionId, (FactionFile.SocialGroups)factionData.sgroup, guildGroup);

            return(guildGroup);
        }
Exemple #4
0
        override public void Join()
        {
            base.Join();

            // Ensure DB reputation starts at at least 2 to give a 1 quest failure buffer.
            PersistentFactionData factionData = GameManager.Instance.PlayerEntity.FactionData;

            if (factionData.GetReputation(FactionId) < 2)
            {
                factionData.SetReputation(FactionId, 2);
            }
        }
Exemple #5
0
        public static Divines GetDivine(int factionId)
        {
            // Temple hall:
            if (Enum.IsDefined(typeof(Divines), factionId))
            {
                return((Divines)factionId);
            }

            // Templar order:
            PersistentFactionData persistentFactionData = GameManager.Instance.PlayerEntity.FactionData;

            FactionFile.FactionData factionData;
            if (persistentFactionData.GetFactionData(factionId, out factionData))
            {
                if (Enum.IsDefined(typeof(Divines), factionData.parent))
                {
                    return((Divines)factionData.parent);
                }
            }
            throw new ArgumentOutOfRangeException("There is no Divine that matches the factionId: " + factionId);
        }