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