Ejemplo n.º 1
0
 public virtual void Reset()
 {
     ResetSkills();
     m_AnimationDelta     = UnityEngine.Vector3Int.zero;
     m_AnimationDirection = Directions.North;
     m_AnimationEnd       = 0;
     m_AnimationSpeed     = UnityEngine.Vector3Int.zero;
     m_Brightness         = 0;
     m_Direction          = Directions.North;
     m_ID              = 0;
     m_Trapper         = false;
     m_Unpassable      = false;
     m_KnownSince      = -1;
     m_LightColor      = UnityEngine.Color.black;
     m_MovementEnd     = 0;
     m_MovementRunning = false;
     Name              = null;
     m_PartyFlag       = PartyFlags.None;
     m_PKFlag          = PKFlags.Revenge;
     m_Type            = CreatureTypes.Monster;
     m_Visible         = false;
     m_GuildFlag       = GuildFlags.None;
     m_Marks.Clear();
     m_MountOutfit = null;
     m_Outfit      = null;
     m_Position    = UnityEngine.Vector3Int.zero;
 }
Ejemplo n.º 2
0
        public void SetPartyFlag(PartyFlags partyFlag)
        {
            if (partyFlag < PartyFlags.None || partyFlag > PartyFlags.Other)
            {
                throw new System.ArgumentException("Creature.SetPartyFlag: Invalid flag.");
            }

            PartyFlag = partyFlag;
        }
Ejemplo n.º 3
0
        private static PartyFlags s_GetPartyFlag(PartyFlags partyFlag)
        {
            if (partyFlag < PartyFlags.None || partyFlag > PartyFlags.Other)
            {
                throw new System.Exception("CharacterStatusPanel.s_GetPartyFlag: Invalid flag.");
            }

            if (partyFlag == PartyFlags.Leader_SharedXP_Inactive_Innocent)
            {
                partyFlag = PartyFlags.Leader_SharedXP_Inactive_Guilty;
            }
            else if (partyFlag == PartyFlags.Member_SharedXP_Inactive_Innocent)
            {
                partyFlag = PartyFlags.Member_SharedXP_Inactive_Guilty; // idk if this is correct
            }
            if (partyFlag == PartyFlags.Other)
            {
                partyFlag = PartyFlags.Member_SharedXP_Inactive_Innocent;
            }

            return(partyFlag);
        }
Ejemplo n.º 4
0
        private void InternalUpdatePartyFlag(PartyFlags partyFlag)
        {
            partyFlag = s_GetPartyFlag(partyFlag);

            if (partyFlag == 0)
            {
                if (m_PartyFlag != 0)
                {
                    m_PartyFlagImage.gameObject.SetActive(false);
                }

                m_PartyFlag = 0;
                return;
            }

            m_PartyFlagImage.sprite = OpenTibiaUnity.GameManager.PartySprites[(int)partyFlag - 1];
            if (m_PartyFlag == 0)
            {
                m_PartyFlagImage.gameObject.SetActive(true);
            }

            m_PartyFlag         = partyFlag;
            m_InternallyChanged = true;
        }
Ejemplo n.º 5
0
        public void SetFlags(bool drawFlags, PartyFlags partyFlag, PKFlags pkFlag, SummonTypeFlags typeFlag, SpeechCategories speechFlag, GuildFlags guildFlag)
        {
            if (!drawFlags)
            {
                if (m_DrawFlags)
                {
                    m_FlagsContainer.gameObject.SetActive(false);
                    m_DrawFlags = false;
                }

                return;
            }

            if (m_PartyFlag != partyFlag)
            {
                InternalUpdatePartyFlag(partyFlag);
            }

            if (m_PKFlag != pkFlag)
            {
                InternalUpdatePKFlag(pkFlag);
            }

            if (m_TypeFlag != typeFlag)
            {
                InternalUpdateTypeFlag(typeFlag);
            }

            if (m_SpeechFlag != speechFlag)
            {
                InternalUpdateSpeechFlag(speechFlag);
            }

            if (m_GuildFlag != guildFlag)
            {
                InternalUpdateGuildFlag(guildFlag);
            }

            if (!m_InternallyChanged)
            {
                return;
            }

            m_InternallyChanged = false;

            if (m_PartyFlag != 0 || m_PKFlag != 0 || m_TypeFlag != 0 || m_SpeechFlag != 0 || m_GuildFlag != 0)
            {
                bool partyOrPK  = m_PartyFlag != 0 || m_PKFlag != 0;
                bool partyAndPK = m_PartyFlag != 0 && m_PKFlag != 0;

                if (m_PartyPKFlagsContainer.gameObject.activeSelf != partyOrPK)
                {
                    m_PartyPKFlagsContainer.gameObject.SetActive(partyOrPK);
                }

                if (partyAndPK)
                {
                    m_PartyPKFlagsContainer.padding.right = -13;
                }
                else if (partyOrPK)
                {
                    m_PartyPKFlagsContainer.padding.right = 0;
                }

                if (!m_DrawFlags)
                {
                    m_FlagsContainer.gameObject.SetActive(true);
                    m_DrawFlags = true;
                }
            }
            else if (m_DrawFlags)     // draw flags is set but there were nothing to draw
            {
                m_FlagsContainer.gameObject.SetActive(false);
                m_DrawFlags = false;
            }
        }