コード例 #1
0
ファイル: BuffEffect.cs プロジェクト: zunaalabaya/TAC-BOT
        public void GetBaseStatus(ref BaseStatus total_add, ref BaseStatus total_scale)
        {
            if (total_add == null || total_scale == null)
            {
                return;
            }
            total_add.Clear();
            total_scale.Clear();
            BaseStatus status1 = new BaseStatus();
            BaseStatus status2 = new BaseStatus();
            BaseStatus status3 = new BaseStatus();
            BaseStatus status4 = new BaseStatus();
            BaseStatus status5 = new BaseStatus();
            BaseStatus status6 = new BaseStatus();

            this.CalcBuffStatus(ref status1, EElement.None, BuffTypes.Buff, true, false, SkillParamCalcTypes.Add, 0);
            this.CalcBuffStatus(ref status2, EElement.None, BuffTypes.Buff, true, true, SkillParamCalcTypes.Add, 0);
            this.CalcBuffStatus(ref status3, EElement.None, BuffTypes.Buff, false, false, SkillParamCalcTypes.Scale, 0);
            this.CalcBuffStatus(ref status4, EElement.None, BuffTypes.Debuff, true, false, SkillParamCalcTypes.Add, 0);
            this.CalcBuffStatus(ref status5, EElement.None, BuffTypes.Debuff, true, true, SkillParamCalcTypes.Add, 0);
            this.CalcBuffStatus(ref status6, EElement.None, BuffTypes.Debuff, false, false, SkillParamCalcTypes.Scale, 0);
            total_add.Add(status1);
            total_add.Add(status2);
            total_add.Add(status4);
            total_add.Add(status5);
            total_scale.Add(status3);
            total_scale.Add(status6);
        }
コード例 #2
0
ファイル: ArtifactData.cs プロジェクト: zunaalabaya/TAC-BOT
 public void GetHomePassiveBuffStatus(ref BaseStatus fixed_status, ref BaseStatus scale_status, UnitData user = null, int job_index = 0, bool bCheckCondition = true)
 {
     fixed_status.Clear();
     scale_status.Clear();
     ArtifactData.WorkScaleStatus.Clear();
     SkillData.GetHomePassiveBuffStatus(this.EquipSkill, ref fixed_status, ref ArtifactData.WorkScaleStatus);
     scale_status.Add(ArtifactData.WorkScaleStatus);
     if (this.mLearningAbilities == null)
     {
         return;
     }
     for (int index1 = 0; index1 < this.mLearningAbilities.Count; ++index1)
     {
         AbilityData mLearningAbility = this.mLearningAbilities[index1];
         if ((user == null || mLearningAbility.CheckEnableUseAbility(user, job_index) || bCheckCondition) && mLearningAbility.Skills != null)
         {
             for (int index2 = 0; index2 < mLearningAbility.Skills.Count; ++index2)
             {
                 SkillData skill = mLearningAbility.Skills[index2];
                 ArtifactData.WorkScaleStatus.Clear();
                 SkillData.GetHomePassiveBuffStatus(skill, ref fixed_status, ref ArtifactData.WorkScaleStatus);
                 scale_status.Add(ArtifactData.WorkScaleStatus);
             }
         }
     }
 }
コード例 #3
0
 private static void GetBonusStatus(SkillData groupSkill, ConceptCardData currentCardData, int levelCap, int awakeCountCap, int level, int awakeCount, ref BaseStatus bonusAdd, ref BaseStatus bonusScale, bool includeMaxPowerUp)
 {
     if (currentCardData.EquipEffects == null)
     {
         return;
     }
     using (List <ConceptCardEquipEffect> .Enumerator enumerator = currentCardData.EquipEffects.GetEnumerator())
     {
         while (enumerator.MoveNext())
         {
             ConceptCardEquipEffect current = enumerator.Current;
             if (current.CardSkill != null && current.CardSkill.Name == groupSkill.Name)
             {
                 current.GetAddCardSkillBuffStatusAwake(awakeCount, awakeCountCap, ref bonusAdd, ref bonusScale);
                 if (!includeMaxPowerUp || level != levelCap || awakeCount != awakeCountCap)
                 {
                     break;
                 }
                 BaseStatus total_add   = new BaseStatus();
                 BaseStatus total_scale = new BaseStatus();
                 current.GetAddCardSkillBuffStatusLvMax(level, levelCap, awakeCount, ref total_add, ref total_scale);
                 bonusAdd.Add(total_add);
                 bonusScale.Add(total_scale);
                 break;
             }
         }
     }
 }
コード例 #4
0
        public void GetStatus(ref BaseStatus fixed_status, ref BaseStatus scale_status)
        {
            BaseStatus scale_status1 = new BaseStatus();

            fixed_status.Clear();
            scale_status.Clear();
            SkillData.GetHomePassiveBuffStatus(this.mEquipSkill, EElement.None, ref fixed_status, ref scale_status1);
            scale_status.Add(scale_status1);
            if (this.Ability == null || this.Ability.Skills == null)
            {
                return;
            }
            for (int index = 0; index < this.Ability.Skills.Count; ++index)
            {
                scale_status1.Clear();
                SkillData.GetHomePassiveBuffStatus(this.Ability.Skills[index], EElement.None, ref fixed_status, ref scale_status1);
                scale_status.Add(scale_status1);
            }
        }
コード例 #5
0
        public BaseStatus GetNoConditionsEquipEffectStatus()
        {
            BaseStatus baseStatus = new BaseStatus();
            List <ConceptCardEquipEffect> conditionsEquipEffects = this.GetNoConditionsEquipEffects();

            for (int index = 0; index < conditionsEquipEffects.Count; ++index)
            {
                BaseStatus status       = new BaseStatus();
                BaseStatus scale_status = new BaseStatus();
                SkillData.GetHomePassiveBuffStatus(conditionsEquipEffects[index].EquipSkill, EElement.None, ref status, ref scale_status);
                baseStatus.Add(status);
            }
            return(baseStatus);
        }
コード例 #6
0
 public void SetCardSkill(ConceptCardSkillDatailData data)
 {
     this.SwitchObject(true, this.mCardSkillObject, this.mCardAbilityObject);
     this.SwitchObject(data.type == ConceptCardDetailAbility.ShowType.Skill, this.mCardSkillNameObject, this.mCardAbilityNameObject);
     if (data.skill_data == null)
     {
         this.SetText(this.mCardAbilityDescription, string.Empty);
     }
     else
     {
         DataSource.Bind <AbilityData>(((Component)this).get_gameObject(), data.effect == null || data.effect.Ability == null ? (AbilityData)null : data.effect.Ability);
         DataSource.Bind <SkillData>(((Component)this).get_gameObject(), data.skill_data);
         StringBuilder stringBuilder = new StringBuilder();
         stringBuilder.Append(data.skill_data.SkillParam.expr);
         this.SetText(this.mCardAbilityDescription, stringBuilder.ToString());
         if (Object.op_Inequality((Object)this.mCardSkillStatusList, (Object)null))
         {
             ((Component)this.mCardSkillStatusList).get_gameObject().SetActive(false);
         }
         if (data.skill_data.Condition == ESkillCondition.CardSkill && Object.op_Inequality((Object)this.mCardSkillStatusList, (Object)null) && data.skill_data != null)
         {
             ((Component)this.mCardSkillStatusList).get_gameObject().SetActive(true);
             BaseStatus status       = new BaseStatus();
             BaseStatus scale_status = new BaseStatus();
             BaseStatus baseStatus1  = new BaseStatus();
             BaseStatus baseStatus2  = new BaseStatus();
             SkillData.GetPassiveBuffStatus(data.skill_data, (BuffEffect[])null, EElement.None, ref status, ref scale_status);
             if (data.effect != null && data.effect.AddCardSkillBuffEffectAwake != null)
             {
                 BaseStatus total_add   = new BaseStatus();
                 BaseStatus total_scale = new BaseStatus();
                 data.effect.AddCardSkillBuffEffectAwake.GetBaseStatus(ref total_add, ref total_scale);
                 baseStatus1.Add(total_add);
                 baseStatus2.Add(total_scale);
             }
             if (data.effect != null && data.effect.AddCardSkillBuffEffectLvMax != null)
             {
                 BaseStatus total_add   = new BaseStatus();
                 BaseStatus total_scale = new BaseStatus();
                 data.effect.AddCardSkillBuffEffectLvMax.GetBaseStatus(ref total_add, ref total_scale);
                 baseStatus1.Add(total_add);
                 baseStatus2.Add(total_scale);
             }
             if (ConceptCardDescription.EnhanceInfo == null)
             {
                 this.mCardSkillStatusList.SetValues_TotalAndBonus(status, scale_status, status, scale_status, baseStatus1, baseStatus2, baseStatus1, baseStatus2);
             }
             else
             {
                 int        lvCap         = (int)ConceptCardDescription.EnhanceInfo.Target.LvCap;
                 int        predictLv     = ConceptCardDescription.EnhanceInfo.predictLv;
                 int        predictAwake  = ConceptCardDescription.EnhanceInfo.predictAwake;
                 int        awakeCountCap = ConceptCardDescription.EnhanceInfo.Target.AwakeCountCap;
                 BaseStatus add           = new BaseStatus();
                 BaseStatus scale         = new BaseStatus();
                 ConceptCardParam.GetSkillAllStatus(data.skill_data.SkillID, lvCap, predictLv, ref add, ref scale);
                 BaseStatus total_add1   = new BaseStatus();
                 BaseStatus total_scale1 = new BaseStatus();
                 data.effect.GetAddCardSkillBuffStatusAwake(predictAwake, awakeCountCap, ref total_add1, ref total_scale1);
                 BaseStatus total_add2   = new BaseStatus();
                 BaseStatus total_scale2 = new BaseStatus();
                 data.effect.GetAddCardSkillBuffStatusLvMax(predictLv, lvCap, predictAwake, ref total_add2, ref total_scale2);
                 BaseStatus modBonusAdd = new BaseStatus();
                 BaseStatus modBonusMul = new BaseStatus();
                 modBonusAdd.Add(total_add1);
                 modBonusAdd.Add(total_add2);
                 modBonusMul.Add(total_scale1);
                 modBonusMul.Add(total_scale2);
                 this.mCardSkillStatusList.SetValues_TotalAndBonus(status, scale_status, add, scale, baseStatus1, baseStatus2, modBonusAdd, modBonusMul);
             }
         }
         if (Object.op_Inequality((Object)this.mLock, (Object)null))
         {
             this.mLock.SetActive(data.type == ConceptCardDetailAbility.ShowType.LockSkill);
         }
         this.mShowData = data;
         GameParameter.UpdateAll(((Component)this).get_gameObject());
     }
 }