Ejemplo n.º 1
0
        public static int SortAscTargetSubType(GameWebAPI.RespDataMA_EventPointBonusM.EventPointBonus left, GameWebAPI.RespDataMA_EventPointBonusM.EventPointBonus right)
        {
            int num  = int.Parse(left.targetSubType);
            int num2 = int.Parse(right.targetSubType);

            return(num - num2);
        }
Ejemplo n.º 2
0
    private static bool CheckExtraParams(MonsterData monsterData, GameWebAPI.RespDataMA_EventPointBonusM.EventPointBonus eventPointBonus)
    {
        if (float.Parse(eventPointBonus.effectValue) < 0f)
        {
            return(false);
        }
        ExtraEffectUtil.EventPointBonusTargetSubType eventPointBonusTargetSubType = (ExtraEffectUtil.EventPointBonusTargetSubType) int.Parse(eventPointBonus.targetSubType);
        switch (eventPointBonusTargetSubType)
        {
        case ExtraEffectUtil.EventPointBonusTargetSubType.MonsterTribe:
            if (monsterData.monsterMG.tribe.Equals(eventPointBonus.targetValue))
            {
                return(true);
            }
            break;

        case ExtraEffectUtil.EventPointBonusTargetSubType.MonsterGroup:
            if (monsterData.monsterMG.monsterGroupId.Equals(eventPointBonus.targetValue))
            {
                return(true);
            }
            break;

        case ExtraEffectUtil.EventPointBonusTargetSubType.GrowStep:
            if (monsterData.monsterMG.growStep.Equals(eventPointBonus.targetValue))
            {
                return(true);
            }
            break;

        case ExtraEffectUtil.EventPointBonusTargetSubType.SkillId:
            if (monsterData.GetCommonSkill() != null && monsterData.GetCommonSkill().skillId.Equals(eventPointBonus.targetValue))
            {
                return(true);
            }
            if (monsterData.GetLeaderSkill() != null && monsterData.GetLeaderSkill().skillId.Equals(eventPointBonus.targetValue))
            {
                return(true);
            }
            break;

        case ExtraEffectUtil.EventPointBonusTargetSubType.ChipId:
        {
            MonsterChipEquipData chipEquip = monsterData.GetChipEquip();
            int[] chipIdList = chipEquip.GetChipIdList();
            if (chipIdList.Where((int item) => item == eventPointBonus.targetValue.ToInt32()).Any <int>())
            {
                return(true);
            }
            break;
        }

        default:
            if (eventPointBonusTargetSubType == ExtraEffectUtil.EventPointBonusTargetSubType.MonsterIntegrationGroup)
            {
                GameWebAPI.RespDataMA_MonsterIntegrationGroupMaster.MonsterIntegrationGroup[] monsterIntegrationGroupM = MasterDataMng.Instance().ResponseMonsterIntegrationGroupMaster.monsterIntegrationGroupM;
                for (int i = 0; i < monsterIntegrationGroupM.Length; i++)
                {
                    if (eventPointBonus.targetValue.Equals(monsterIntegrationGroupM[i].monsterIntegrationId) && monsterIntegrationGroupM[i].monsterId.Equals(monsterData.monsterM.monsterId))
                    {
                        return(true);
                    }
                }
            }
            break;
        }
        return(false);
    }
Ejemplo n.º 3
0
 public static bool MatchChipBonusPoint(GameWebAPI.RespDataMA_EventPointBonusM.EventPointBonus pointBonus)
 {
     return("6" == pointBonus.targetSubType);
 }
Ejemplo n.º 4
0
    public void CheckEffectiveBonus()
    {
        BattleStateManager current = BattleStateManager.current;

        if (!current.onServerConnect)
        {
            return;
        }
        string b = string.Empty;

        if (current.battleMode == BattleMode.Multi)
        {
            b = DataMng.Instance().RespData_WorldMultiStartInfo.worldDungeonId;
        }
        else if (current.battleMode == BattleMode.PvP)
        {
            b = ClassSingleton <MultiBattleData> .Instance.PvPField.worldDungeonId;
        }
        else
        {
            b = ClassSingleton <QuestData> .Instance.RespDataWD_DungeonStart.worldDungeonId;
        }
        List <GameWebAPI.RespDataMA_EventPointBonusM.EventPointBonus> list = new List <GameWebAPI.RespDataMA_EventPointBonusM.EventPointBonus>();

        GameWebAPI.RespDataMA_EventPointBonusM respDataMA_EventPointBonusMaster = MasterDataMng.Instance().RespDataMA_EventPointBonusMaster;
        foreach (GameWebAPI.RespDataMA_EventPointBonusM.EventPointBonus eventPointBonus2 in respDataMA_EventPointBonusMaster.eventPointBonusM)
        {
            if (eventPointBonus2.worldDungeonId == b && eventPointBonus2.effectType != "0")
            {
                list.Add(eventPointBonus2);
            }
        }
        using (List <GameWebAPI.RespDataMA_EventPointBonusM.EventPointBonus> .Enumerator enumerator = list.GetEnumerator())
        {
            while (enumerator.MoveNext())
            {
                GameWebAPI.RespDataMA_EventPointBonusM.EventPointBonus eventPointBonus = enumerator.Current;
                ExtraEffectUtil.EventPointBonusTargetSubType           eventPointBonusTargetSubType = (ExtraEffectUtil.EventPointBonusTargetSubType) int.Parse(eventPointBonus.targetSubType);
                switch (eventPointBonusTargetSubType)
                {
                case ExtraEffectUtil.EventPointBonusTargetSubType.MonsterTribe:
                    if (this.characterDatas.tribe.Equals(eventPointBonus.targetValue))
                    {
                        this._effectiveBonus = true;
                        return;
                    }
                    break;

                case ExtraEffectUtil.EventPointBonusTargetSubType.MonsterGroup:
                    if (this.characterStatus.groupId.Equals(eventPointBonus.targetValue))
                    {
                        this._effectiveBonus = true;
                        return;
                    }
                    break;

                case ExtraEffectUtil.EventPointBonusTargetSubType.GrowStep:
                {
                    string text = MonsterGrowStepData.ToGrowStepString(this.characterDatas.growStep);
                    if (text.Equals(eventPointBonus.targetValue))
                    {
                        this._effectiveBonus = true;
                        return;
                    }
                    break;
                }

                case ExtraEffectUtil.EventPointBonusTargetSubType.SkillId:
                    if (this.skillStatus.Length > 2 && this.skillStatus[2].skillId.Equals(eventPointBonus.targetValue))
                    {
                        this._effectiveBonus = true;
                        return;
                    }
                    if (this.leaderSkillStatus.leaderSkillId.Equals(eventPointBonus.targetValue))
                    {
                        this._effectiveBonus = true;
                        return;
                    }
                    break;

                case ExtraEffectUtil.EventPointBonusTargetSubType.ChipId:
                    if (this.chipIds.Where((int item) => item == eventPointBonus.targetValue.ToInt32()).Any <int>())
                    {
                        this._effectiveBonus = true;
                        return;
                    }
                    break;

                default:
                    if (eventPointBonusTargetSubType == ExtraEffectUtil.EventPointBonusTargetSubType.MonsterIntegrationGroup)
                    {
                        foreach (string value in this.characterStatus.monsterIntegrationIds)
                        {
                            if (eventPointBonus.targetValue.Equals(value))
                            {
                                this._effectiveBonus = true;
                                return;
                            }
                        }
                    }
                    break;
                }
            }
        }
        if (this.IsBonusQuest(this.characterStatus.groupId))
        {
            this._effectiveBonus = true;
            return;
        }
        this._effectiveBonus = false;
    }