Пример #1
0
        private void FillSpellsForSchool(ESkillID p_school)
        {
            Character             selectedCharacter = m_party.SelectedCharacter;
            List <CharacterSpell> spellsBySchool    = selectedCharacter.SpellHandler.GetSpellsBySchool(p_school);

            if (m_checkBox.isChecked)
            {
                foreach (CharacterSpell p_spell in spellsBySchool)
                {
                    InitSpellView(p_spell);
                }
            }
            else
            {
                Skill skill = selectedCharacter.SkillHandler.FindSkill((Int32)p_school);
                foreach (KeyValuePair <ECharacterSpell, CharacterSpell> keyValuePair in m_spells)
                {
                    CharacterSpellStaticData staticData = keyValuePair.Value.StaticData;
                    if (staticData != null)
                    {
                        if (staticData.SkillID == p_school && skill != null && staticData.Tier <= skill.MaxTier && (staticData.ClassOnly == EClass.NONE || staticData.ClassOnly == selectedCharacter.Class.Class))
                        {
                            InitSpellView(keyValuePair.Value);
                        }
                    }
                }
            }
        }
Пример #2
0
        private void UpdateButton(SkillSelectButton p_btn, ESkillID p_skill)
        {
            DummyCharacter           selectedDummyCharacter = m_partyCreator.GetSelectedDummyCharacter();
            CharacterClassStaticData staticData             = StaticDataHandler.GetStaticData <CharacterClassStaticData>(EDataType.CHARACTER_CLASS, (Int32)selectedDummyCharacter.Class);
            ETier etier = ETier.NONE;

            for (Int32 i = 0; i < staticData.GrandMasterSkills.Length; i++)
            {
                if (staticData.GrandMasterSkills[i] == (Int32)p_skill)
                {
                    etier = ETier.GRAND_MASTER;
                }
            }
            for (Int32 j = 0; j < staticData.MasterSkills.Length; j++)
            {
                if (staticData.MasterSkills[j] == (Int32)p_skill)
                {
                    etier = ETier.MASTER;
                }
            }
            for (Int32 k = 0; k < staticData.ExpertSkills.Length; k++)
            {
                if (staticData.ExpertSkills[k] == (Int32)p_skill)
                {
                    etier = ETier.EXPERT;
                }
            }
            SkillStaticData staticData2 = StaticDataHandler.GetStaticData <SkillStaticData>(EDataType.SKILL, (Int32)p_skill);

            p_btn.Init(staticData2, isDefaultSkill(staticData, staticData2), !isStartSkill(staticData, staticData2) && etier != ETier.NONE, selectedDummyCharacter.IsSkillPicked(staticData2.StaticID) || isStartSkill(staticData, staticData2), etier);
        }
Пример #3
0
        public static EDamageType ESkillIDToEDamageType(ESkillID p_skillID)
        {
            switch (p_skillID)
            {
            case ESkillID.SKILL_FIRE_MAGIC:
                return(EDamageType.FIRE);

            case ESkillID.SKILL_WATER_MAGIC:
                return(EDamageType.WATER);

            case ESkillID.SKILL_AIR_MAGIC:
                return(EDamageType.AIR);

            case ESkillID.SKILL_EARTH_MAGIC:
                return(EDamageType.EARTH);

            case ESkillID.SKILL_LIGHT_MAGIC:
                return(EDamageType.LIGHT);

            case ESkillID.SKILL_DARK_MAGIC:
                return(EDamageType.DARK);

            case ESkillID.SKILL_PRIMORDIAL_MAGIC:
                return(EDamageType.PRIMORDIAL);

            default:
                return(EDamageType.PHYSICAL);
            }
        }
        public void IncreaseVirtualSkillLevel(ESkillID p_skillID, Int32 p_value)
        {
            Skill skill = FindSkill((Int32)p_skillID);

            if (skill != null)
            {
                skill.VirtualSkillLevel += p_value;
            }
        }
        public List <CharacterSpell> GetSpellsBySchool(ESkillID p_skill_id)
        {
            List <CharacterSpell> list = new List <CharacterSpell>();

            foreach (CharacterSpell characterSpell in m_spells)
            {
                if (characterSpell.StaticData.SkillID == p_skill_id)
                {
                    list.Add(characterSpell);
                }
            }
            return(list);
        }
        public Int32 GetResistanceIgnoreValue(ESkillID p_magicSchool)
        {
            Int32 num   = 0;
            Skill skill = FindSkill((Int32)p_magicSchool);

            if (skill != null)
            {
                List <SkillEffectStaticData> currentlyAvailableEffects = skill.CurrentlyAvailableEffects;
                foreach (SkillEffectStaticData skillEffectStaticData in currentlyAvailableEffects)
                {
                    if (skillEffectStaticData.Type == ESkillEffectType.IGNORE_RESISTANCE)
                    {
                        num = (Int32)ResolveValue(num, skillEffectStaticData, skill);
                    }
                }
            }
            return(num);
        }