public static bool IsExtraEffectMonster(MonsterData monsterData, GameWebAPI.RespDataMA_GetWorldDungeonExtraEffectM.WorldDungeonExtraEffectM[] effectArray) { if (MonsterGrowStepData.IsGardenDigimonScope(monsterData.monsterMG.growStep)) { return(false); } int areaId = ExtraEffectUtil.GetAreaId(); foreach (int num in monsterData.GetChipEquip().GetChipIdList()) { GameWebAPI.RespDataMA_ChipEffectM.ChipEffect[] chipEffectData = ChipDataMng.GetChipEffectData(num.ToString()); if (chipEffectData != null) { GameWebAPI.RespDataMA_ChipEffectM.ChipEffect[] invocationList = ChipEffectStatus.GetInvocationList(chipEffectData, EffectStatusBase.EffectTriggerType.Area, monsterData.monsterM.monsterGroupId.ToInt32(), null, areaId); if (invocationList.Length > 0) { return(true); } } } GameWebAPI.RespDataMA_EventPointBonusM.EventPointBonus[] eventPointBonuses = ExtraEffectUtil.GetEventPointBonuses(ExtraEffectUtil.GetDungeonId().ToString()); foreach (GameWebAPI.RespDataMA_EventPointBonusM.EventPointBonus eventPointBonus in eventPointBonuses) { bool flag = ExtraEffectUtil.CheckExtraParams(monsterData, eventPointBonus); if (flag) { return(true); } } return(ExtraEffectUtil.CheckExtraStageParams(monsterData, effectArray)); }
public static bool CheckExtraStageParams(MonsterData monsterData, GameWebAPI.RespDataMA_GetWorldDungeonExtraEffectM.WorldDungeonExtraEffectM effect) { GameWebAPI.RespDataMA_GetWorldDungeonExtraEffectM.WorldDungeonExtraEffectM[] effectArray = new GameWebAPI.RespDataMA_GetWorldDungeonExtraEffectM.WorldDungeonExtraEffectM[] { effect }; return(ExtraEffectUtil.CheckExtraStageParams(monsterData, effectArray)); }
private GameWebAPI.RespDataMA_GetWorldDungeonExtraEffectM.WorldDungeonExtraEffectM[] SetStageGimmick(string StageID, string DungeonID) { GameWebAPI.RespDataMA_GetWorldDungeonExtraEffectM.WorldDungeonExtraEffectM[] array = DataMng.Instance().StageGimmick.GetExtraEffectDataList(StageID, DungeonID).ToArray(); array = array.Where((GameWebAPI.RespDataMA_GetWorldDungeonExtraEffectM.WorldDungeonExtraEffectM item) => ExtraEffectUtil.CheckExtraStageParams(this.Data, item)).ToArray <GameWebAPI.RespDataMA_GetWorldDungeonExtraEffectM.WorldDungeonExtraEffectM>(); int num = 0; int num2 = 0; ExtraEffectUtil.GetExtraEffectFluctuationValue(out num, out num2, this.Data, array, EffectStatusBase.ExtraEffectType.SkillPower, 1, true); if (num2 == 1) { this.gimmickSkillActionUp.SetActive(true); } else if (num2 == -1) { this.gimmickSkillActionDown.SetActive(true); } ExtraEffectUtil.GetExtraEffectFluctuationValue(out num, out num2, this.Data, array, EffectStatusBase.ExtraEffectType.SkillHit, 1, true); if (num2 == 1) { this.gimmickSkillActionUp.SetActive(true); } else if (num2 == -1) { this.gimmickSkillActionDown.SetActive(true); } ExtraEffectUtil.GetExtraEffectFluctuationValue(out num, out num2, this.Data, array, EffectStatusBase.ExtraEffectType.SkillPower, 2, true); if (num2 == 1) { this.gimmickSkillSucceedUp.SetActive(true); } else if (num2 == -1) { this.gimmickSkillSucceedDown.SetActive(true); } ExtraEffectUtil.GetExtraEffectFluctuationValue(out num, out num2, this.Data, array, EffectStatusBase.ExtraEffectType.SkillHit, 2, true); if (num2 == 1) { this.gimmickSkillSucceedUp.SetActive(true); } else if (num2 == -1) { this.gimmickSkillSucceedDown.SetActive(true); } if (this.gimmickSkillSucceedUp2 == null || this.gimmickSkillSucceedDown2 == null) { return(array); } ExtraEffectUtil.GetExtraEffectFluctuationValue(out num, out num2, this.Data, array, EffectStatusBase.ExtraEffectType.SkillPower, 3, true); if (num2 == 1) { this.gimmickSkillSucceedUp2.SetActive(true); } else if (num2 == -1) { this.gimmickSkillSucceedDown2.SetActive(true); } ExtraEffectUtil.GetExtraEffectFluctuationValue(out num, out num2, this.Data, array, EffectStatusBase.ExtraEffectType.SkillHit, 3, true); if (num2 == 1) { this.gimmickSkillSucceedUp2.SetActive(true); } else if (num2 == -1) { this.gimmickSkillSucceedDown2.SetActive(true); } return(array); }