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); }
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); } } } }
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; } } } }
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); } }
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); }
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()); } }