private MonsterEggStatusInfo CreateDigitamaStatus(MonsterData baseData)
    {
        MonsterEggStatusInfo monsterEggStatusInfo = new MonsterEggStatusInfo();

        monsterEggStatusInfo.rare = baseData.monsterM.rare;
        int num = int.Parse(baseData.userMonster.friendship);
        int friendshipMaxValue = MonsterFriendshipData.GetFriendshipMaxValue(baseData.monsterMG.growStep);
        int num2 = monsterEggStatusInfo.rare.ToInt32();

        monsterEggStatusInfo.isArousal = false;
        monsterEggStatusInfo.isReturn  = false;
        if (num2 >= 6)
        {
            monsterEggStatusInfo.isReturn = true;
        }
        else if (num == friendshipMaxValue && num2 < 5)
        {
            monsterEggStatusInfo.isArousal = true;
        }
        monsterEggStatusInfo.hpAbilityFlg        = this.GetCandidateMedal(baseData.userMonster.hpAbilityFlg);
        monsterEggStatusInfo.attackAbilityFlg    = this.GetCandidateMedal(baseData.userMonster.attackAbilityFlg);
        monsterEggStatusInfo.defenseAbilityFlg   = this.GetCandidateMedal(baseData.userMonster.defenseAbilityFlg);
        monsterEggStatusInfo.spAttackAbilityFlg  = this.GetCandidateMedal(baseData.userMonster.spAttackAbilityFlg);
        monsterEggStatusInfo.spDefenseAbilityFlg = this.GetCandidateMedal(baseData.userMonster.spDefenseAbilityFlg);
        monsterEggStatusInfo.speedAbilityFlg     = this.GetCandidateMedal(baseData.userMonster.speedAbilityFlg);
        monsterEggStatusInfo.luck = baseData.userMonster.luck;
        return(monsterEggStatusInfo);
    }
    protected override void EndSuccess()
    {
        int  num = int.Parse(this.baseDigimon.userMonster.friendship);
        int  friendshipMaxValue = MonsterFriendshipData.GetFriendshipMaxValue(this.baseDigimon.monsterMG.growStep);
        bool isArousal          = num >= friendshipMaxValue;
        bool isResetEquipChip   = false;

        if (this.baseDigimon.GetChipEquip().IsAttachedChip())
        {
            isResetEquipChip = true;
            base.RemoveEquipChip(false, this.baseDigimon.userMonster.userMonsterId);
        }
        if (this.partnerDigimon.GetChipEquip().IsAttachedChip())
        {
            isResetEquipChip = true;
            base.RemoveEquipChip(false, this.partnerDigimon.userMonster.userMonsterId);
        }
        string[] userMonsterIdList = new string[]
        {
            this.baseDigimon.userMonster.userMonsterId,
            this.partnerDigimon.userMonster.userMonsterId
        };
        ClassSingleton <MonsterUserDataMng> .Instance.DeleteUserMonsterData(userMonsterIdList);

        GooglePlayGamesTool.Instance.Laboratory();
        ClassSingleton <GUIMonsterIconList> .Instance.RefreshList(MonsterDataMng.Instance().GetMonsterDataList());

        GameWebAPI.RespDataUS_GetMonsterList.UserMonsterList userMonsterData = this.GetUserMonsterData();
        MonsterData userMonster = ClassSingleton <MonsterUserDataMng> .Instance.GetUserMonster(userMonsterData.userMonsterId);

        CutsceneDataFusion cutsceneDataFusion = new CutsceneDataFusion();

        cutsceneDataFusion.path            = "Cutscenes/Fusion";
        cutsceneDataFusion.baseModelId     = this.baseDigimon.GetMonsterMaster().Group.modelId;
        cutsceneDataFusion.materialModelId = this.partnerDigimon.GetMonsterMaster().Group.modelId;
        cutsceneDataFusion.eggModelId      = ClassSingleton <EvolutionData> .Instance.GetEggType(userMonster.userMonster.monsterEvolutionRouteId);

        cutsceneDataFusion.upArousal = isArousal;
        CutsceneDataFusion cutsceneDataFusion2 = cutsceneDataFusion;

        if (CMD_Laboratory.< > f__mg$cache1 == null)
        {
            CMD_Laboratory.< > f__mg$cache1 = new Action(CutSceneMain.FadeReqCutSceneEnd);
        }
        cutsceneDataFusion2.endCallback = CMD_Laboratory.< > f__mg$cache1;
        CutsceneDataFusion cutsceneData = cutsceneDataFusion;

        Loading.Invisible();
        CutSceneMain.FadeReqCutScene(cutsceneData, delegate()
        {
            this.OnStartCutScene(isArousal, isResetEquipChip);
        }, delegate()
        {
            this.characterDetailed.StartAnimation();
            if (!isResetEquipChip)
            {
                RestrictionInput.EndLoad();
            }
        }, 0.5f, 0.5f);
    }
Beispiel #3
0
    private IEnumerator TouchAction()
    {
        yield return(base.StartCoroutine(this.EndAction()));

        this.farmDigimonAI.CreateActionParam(FarmDigimonAI.ActionID.TOUCH_ACTION);
        this.actionState = FarmDigimon.ActionState.ACT;
        this.StartAction();
        if (this.IsFriendShipUp && DateTime.MinValue != this.memoryNextTime)
        {
            if ((this.memoryNextTime - ServerDateTime.Now).TotalSeconds <= 0.0 && this.memoryNextTime != DateTime.MinValue)
            {
                int friendshipMaxValue = MonsterFriendshipData.GetFriendshipMaxValue(this.monsterData.monsterMG.growStep);
                int num = int.Parse(this.monsterData.userMonster.friendship);
                if (num < friendshipMaxValue)
                {
                    this.beforeFriendship = this.monsterData.userMonster.friendship;
                    this.UpFriendStatus();
                }
                else
                {
                    this.PopBalloon(false);
                }
            }
            else
            {
                this.PopBalloon(false);
            }
        }
        yield break;
    }
Beispiel #4
0
        private void CreateMasterDataCache()
        {
            MonsterMaster.Initialize();
            MonsterSkillData.Initialize();
            ClassSingleton <EvolutionData> .Instance.Initialize();

            VersionUpMaterialData.Initialize();
            MonsterFriendshipData.Initialize();
            MonsterGrowStepData.Initialize();
            MonsterTribeData.Initialize();
        }
Beispiel #5
0
    public bool SetValues(MonsterData monsterData, GameWebAPI.RespDataMA_GetWorldDungeonExtraEffectM.WorldDungeonExtraEffectM[] gimmickEffectArray)
    {
        bool result = false;
        int  changeValue;
        int  num;

        ExtraEffectUtil.GetExtraEffectFluctuationValue(out changeValue, out num, monsterData, gimmickEffectArray, EffectStatusBase.ExtraEffectType.Hp, 0, true);
        this.SetParameter(monsterData.userMonster.hp, changeValue, this.hpLabel, this.hpGimmickLabel, this.hpArrow);
        if (num != 0)
        {
            result = true;
        }
        ExtraEffectUtil.GetExtraEffectFluctuationValue(out changeValue, out num, monsterData, gimmickEffectArray, EffectStatusBase.ExtraEffectType.Atk, 0, true);
        this.SetParameter(monsterData.userMonster.attack, changeValue, this.attackLabel, this.attackGimmickLabel, this.attackArrow);
        if (num != 0)
        {
            result = true;
        }
        ExtraEffectUtil.GetExtraEffectFluctuationValue(out changeValue, out num, monsterData, gimmickEffectArray, EffectStatusBase.ExtraEffectType.Def, 0, true);
        this.SetParameter(monsterData.userMonster.defense, changeValue, this.defenseLabel, this.defenseGimmickLabel, this.defenseArrow);
        if (num != 0)
        {
            result = true;
        }
        ExtraEffectUtil.GetExtraEffectFluctuationValue(out changeValue, out num, monsterData, gimmickEffectArray, EffectStatusBase.ExtraEffectType.Satk, 0, true);
        this.SetParameter(monsterData.userMonster.spAttack, changeValue, this.magicAttackLabel, this.magicAttackGimmickLabel, this.magicAttackArrow);
        if (num != 0)
        {
            result = true;
        }
        ExtraEffectUtil.GetExtraEffectFluctuationValue(out changeValue, out num, monsterData, gimmickEffectArray, EffectStatusBase.ExtraEffectType.Sdef, 0, true);
        this.SetParameter(monsterData.userMonster.spDefense, changeValue, this.magicDefenceLabel, this.magicDefenseGimmickLabel, this.magicDefenseArrow);
        if (num != 0)
        {
            result = true;
        }
        ExtraEffectUtil.GetExtraEffectFluctuationValue(out changeValue, out num, monsterData, gimmickEffectArray, EffectStatusBase.ExtraEffectType.Speed, 0, true);
        this.SetParameter(monsterData.userMonster.speed, changeValue, this.speedLabel, this.speedGimmickLabel, this.speedArrow);
        if (num != 0)
        {
            result = true;
        }
        this.luckLabel.text = monsterData.userMonster.luck;
        if (!this.disableFriendshipMaxValue)
        {
            this.friendshipLabel.text = MonsterFriendshipData.GetMaxFriendshipFormat(monsterData.userMonster.friendship, monsterData.monsterMG.growStep);
        }
        else
        {
            this.friendshipLabel.text = monsterData.userMonster.friendship;
        }
        return(result);
    }
 public void SetValues(MonsterData monsterData, bool setBaseStatus = false, bool showMaxLuck = false)
 {
     if (!setBaseStatus)
     {
         this.hpLabel.text           = monsterData.userMonster.hp;
         this.attackLabel.text       = monsterData.userMonster.attack;
         this.defenseLabel.text      = monsterData.userMonster.defense;
         this.magicAttackLabel.text  = monsterData.userMonster.spAttack;
         this.magicDefenceLabel.text = monsterData.userMonster.spDefense;
         this.speedLabel.text        = monsterData.userMonster.speed;
     }
     else
     {
         StatusValue statusValue = MonsterStatusData.GetStatusValue(monsterData.userMonster.monsterId, monsterData.userMonster.level);
         this.hpLabel.text           = statusValue.hp.ToString();
         this.attackLabel.text       = statusValue.attack.ToString();
         this.defenseLabel.text      = statusValue.defense.ToString();
         this.magicAttackLabel.text  = statusValue.magicAttack.ToString();
         this.magicDefenceLabel.text = statusValue.magicDefense.ToString();
         this.speedLabel.text        = statusValue.speed.ToString();
     }
     GameWebAPI.RespDataMA_GetMonsterMS.MonsterM simple = MonsterMaster.GetMonsterMasterByMonsterId(monsterData.userMonster.monsterId).Simple;
     if (showMaxLuck)
     {
         this.luckLabel.text = string.Format(StringMaster.GetString("SystemFraction"), monsterData.userMonster.luck, simple.maxLuck);
     }
     else
     {
         this.luckLabel.text = monsterData.userMonster.luck.ToString();
     }
     if (!this.disableFriendshipMaxValue)
     {
         this.friendshipLabel.text = MonsterFriendshipData.GetMaxFriendshipFormat(monsterData.userMonster.friendship, monsterData.monsterMG.growStep);
     }
     else
     {
         this.friendshipLabel.text = monsterData.userMonster.friendship;
     }
 }
Beispiel #7
0
    public void SetChangeData(string monsterId, string friendship)
    {
        StatusValue         values    = this.monsterStatusList.GetValues();
        int                 num       = values.friendship / ConstValue.RIZE_CONDITION_FRENDSHIPSTATUS;
        int                 num2      = friendship.ToInt32();
        int                 num3      = num2 / ConstValue.RIZE_CONDITION_FRENDSHIPSTATUS;
        int                 bonusStep = num - num3;
        MonsterClientMaster monsterMasterByMonsterId = MonsterMaster.GetMonsterMasterByMonsterId(monsterId);
        StatusValue         friendshipBonusValue     = MonsterFriendshipData.GetFriendshipBonusValue(monsterMasterByMonsterId.Simple, bonusStep);
        StatusValue         beforeStatus             = new StatusValue
        {
            hp           = values.hp - friendshipBonusValue.hp,
            attack       = values.attack - friendshipBonusValue.attack,
            defense      = values.defense - friendshipBonusValue.defense,
            magicAttack  = values.magicAttack - friendshipBonusValue.magicAttack,
            magicDefense = values.magicDefense - friendshipBonusValue.magicDefense,
            speed        = values.speed - friendshipBonusValue.speed,
            luck         = values.luck,
            friendship   = num2
        };

        this.monsterStatusChangeValueList.SetValues(beforeStatus, values);
    }
Beispiel #8
0
    public void ApplyMonsterDescription(bool isShow, CharacterStateControl characterStatus)
    {
        NGUITools.SetActiveSelf(base.gameObject, isShow);
        if (!isShow)
        {
            return;
        }
        this.monsterName.text = characterStatus.name;
        this.level.text       = characterStatus.level.ToString();
        base.SetupEvolutionStep(characterStatus);
        base.SetupSpecies(characterStatus);
        int num = 0;

        num           += this.ApplyValue(characterStatus.maxHp, characterStatus.extraMaxHp, this.hp, this.hpUpObject, this.hpDownObject);
        num           += this.ApplyValue(characterStatus.attackPower, characterStatus.extraAttackPower, this.atk, this.atkUpObject, this.atkDownObject);
        num           += this.ApplyValue(characterStatus.defencePower, characterStatus.extraDefencePower, this.def, this.defUpObject, this.defDownObject);
        num           += this.ApplyValue(characterStatus.specialAttackPower, characterStatus.extraSpecialAttackPower, this.satk, this.satkUpObject, this.satkDownObject);
        num           += this.ApplyValue(characterStatus.specialDefencePower, characterStatus.extraSpecialDefencePower, this.sdef, this.sdefUpObject, this.sdefDownObject);
        num           += this.ApplyValue(characterStatus.speed, characterStatus.extraSpeed, this.speed, this.speedUpObject, this.speedDownObject);
        this.luck.text = characterStatus.luck.ToString();
        if (MonsterDataMng.Instance() != null)
        {
            this.friendshipLevel.text = MonsterFriendshipData.GetMaxFriendshipFormat(characterStatus.friendshipLevel.ToString(), MonsterGrowStepData.ToGrowStepString(characterStatus.characterDatas.growStep));
        }
        if (characterStatus.isHavingLeaderSkill)
        {
            this.leaderSkillName.text        = characterStatus.leaderSkillStatus.name;
            this.leaderSkillDescription.text = characterStatus.leaderSkillStatus.description;
        }
        else
        {
            this.leaderSkillName.text        = StringMaster.GetString("SystemNone");
            this.leaderSkillDescription.text = string.Empty;
        }
        characterStatus.InitializeSkillExtraStatus();
        if (characterStatus.skillStatus.Length > 1)
        {
            this.deathblow.name.text        = characterStatus.skillStatus[1].name;
            this.deathblow.description.text = characterStatus.skillStatus[1].description;
            int powerFirst = characterStatus.skillStatus[1].GetPowerFirst(characterStatus);
            int extraValue = powerFirst;
            AffectEffectProperty affectEffectFirst = characterStatus.skillStatus[1].GetAffectEffectFirst();
            if (affectEffectFirst != null && AffectEffectProperty.IsDamage(affectEffectFirst.type))
            {
                extraValue = characterStatus.extraDeathblowSkillPower;
            }
            num += this.ApplyValue(powerFirst, extraValue, null, this.deathblow.upObject, this.deathblow.downObject);
        }
        else
        {
            this.deathblow.name.text        = StringMaster.GetString("SystemNone");
            this.deathblow.description.text = "-";
            this.ApplyValue(0, 0, null, this.deathblow.upObject, this.deathblow.downObject);
        }
        if (characterStatus.skillStatus.Length > 2)
        {
            this.inheritance1.name.text        = characterStatus.skillStatus[2].name;
            this.inheritance1.description.text = characterStatus.skillStatus[2].description;
            int powerFirst2 = characterStatus.skillStatus[2].GetPowerFirst(characterStatus);
            int extraValue2 = powerFirst2;
            AffectEffectProperty affectEffectFirst2 = characterStatus.skillStatus[2].GetAffectEffectFirst();
            if (affectEffectFirst2 != null && AffectEffectProperty.IsDamage(affectEffectFirst2.type))
            {
                extraValue2 = characterStatus.extraInheritanceSkillPower;
            }
            num += this.ApplyValue(powerFirst2, extraValue2, null, this.inheritance1.upObject, this.inheritance1.downObject);
        }
        else
        {
            this.inheritance1.name.text        = StringMaster.GetString("SystemNone");
            this.inheritance1.description.text = "-";
            this.ApplyValue(0, 0, null, this.inheritance1.upObject, this.inheritance1.downObject);
        }
        if (characterStatus.isVersionUp)
        {
            this.inheritance2.root.SetActive(true);
        }
        else
        {
            this.inheritance2.root.SetActive(false);
        }
        if (characterStatus.skillStatus.Length > 3)
        {
            this.inheritance2.name.text        = characterStatus.skillStatus[3].name;
            this.inheritance2.description.text = characterStatus.skillStatus[3].description;
            int powerFirst3 = characterStatus.skillStatus[3].GetPowerFirst(characterStatus);
            int extraValue3 = powerFirst3;
            AffectEffectProperty affectEffectFirst3 = characterStatus.skillStatus[3].GetAffectEffectFirst();
            if (affectEffectFirst3 != null && AffectEffectProperty.IsDamage(affectEffectFirst3.type))
            {
                extraValue3 = characterStatus.extraInheritanceSkillPower2;
            }
            num += this.ApplyValue(powerFirst3, extraValue3, null, this.inheritance2.upObject, this.inheritance2.downObject);
        }
        else
        {
            this.inheritance2.name.text        = StringMaster.GetString("SystemNone");
            this.inheritance2.description.text = "-";
            this.ApplyValue(0, 0, null, this.inheritance2.upObject, this.inheritance2.downObject);
        }
        this.stageGimmickObject.SetActive(num > 0 || characterStatus.isChipServerAddValue || characterStatus.isEffectiveBonus());
        this.SetArousal(characterStatus.arousal);
        base.SetupTolerance(characterStatus);
        this.MonsterMedalList.SetValues(characterStatus.talent);
        for (int i = 0; i < this.chipIcons.Length; i++)
        {
            if (i < characterStatus.chipIds.Length)
            {
                GameWebAPI.RespDataMA_ChipM.Chip chipMainData = ChipDataMng.GetChipMainData(characterStatus.chipIds[i].ToString());
                this.chipIcons[i].SetData(chipMainData, -1, -1);
                this.chipIcons[i].SetActive(true);
                this.chipIcons[i].transform.localScale = new Vector3(0.6f, 0.6f, 1f);
            }
            else
            {
                this.chipIcons[i].SetActive(false);
            }
        }
        if (MonsterDataMng.Instance() != null)
        {
            string monsterStatusId  = characterStatus.characterDatas.monsterStatusId;
            string specificTypeName = MonsterSpecificTypeData.GetSpecificTypeName(monsterStatusId);
            this.specificType.text = specificTypeName;
        }
        else
        {
            this.specificType.text = "-";
        }
    }
    private void DisplayDifference()
    {
        bool flag = false;
        MonsterClientMaster monsterMasterByMonsterId = MonsterMaster.GetMonsterMasterByMonsterId(this.userMonster.monsterId);

        if (this.levelUpLabel != null)
        {
            string text = string.Empty;
            if (this.displayLevel > this.defaultLevel)
            {
                text = string.Format(StringMaster.GetString("SystemFraction"), this.displayLevel.ToString(), monsterMasterByMonsterId.Simple.maxLevel);
            }
            this.levelUpLabel.text = text;
            flag = true;
        }
        int         bonusStep            = int.Parse(this.userMonster.friendship) / ConstValue.RIZE_CONDITION_FRENDSHIPSTATUS;
        StatusValue friendshipBonusValue = MonsterFriendshipData.GetFriendshipBonusValue(monsterMasterByMonsterId.Simple, bonusStep);
        StatusValue statusValue          = MonsterStatusData.GetStatusValue(this.userMonster.monsterId, this.displayLevel.ToString());
        StatusValue statusValue2         = MonsterStatusData.GetStatusValue(this.userMonster.monsterId, this.userMonster.level);

        if (this.hpUpLabel != null)
        {
            float num  = 0f;
            float num2 = 0f;
            int   num3 = 0;
            if (int.TryParse(this.userMonster.hpAbility, out num3))
            {
                num  = Mathf.Floor((float)statusValue.hp * (float)num3 / 100f);
                num2 = Mathf.Floor((float)statusValue2.hp * (float)num3 / 100f);
            }
            int num4 = int.Parse(this.userMonster.hp) - (statusValue2.hp + friendshipBonusValue.hp + (int)num2);
            this.hpUpLabel.text = this.GetTextStatusUpValue(this.userMonster.hp, statusValue.hp + friendshipBonusValue.hp + (int)num + num4);
            flag = true;
        }
        if (this.atkUpLabel != null)
        {
            float num5 = 0f;
            float num6 = 0f;
            int   num7 = 0;
            if (int.TryParse(this.userMonster.attackAbility, out num7))
            {
                num5 = Mathf.Floor((float)statusValue.attack * (float)num7 / 100f);
                num6 = Mathf.Floor((float)statusValue2.attack * (float)num7 / 100f);
            }
            int num8 = int.Parse(this.userMonster.attack) - (statusValue2.attack + friendshipBonusValue.attack + (int)num6);
            this.atkUpLabel.text = this.GetTextStatusUpValue(this.userMonster.attack, statusValue.attack + friendshipBonusValue.attack + (int)num5 + num8);
            flag = true;
        }
        if (this.defUpLabel != null)
        {
            float num9  = 0f;
            float num10 = 0f;
            int   num11 = 0;
            if (int.TryParse(this.userMonster.defenseAbility, out num11))
            {
                num9  = Mathf.Floor((float)statusValue.defense * (float)num11 / 100f);
                num10 = Mathf.Floor((float)statusValue2.defense * (float)num11 / 100f);
            }
            int num12 = int.Parse(this.userMonster.defense) - (statusValue2.defense + friendshipBonusValue.defense + (int)num10);
            this.defUpLabel.text = this.GetTextStatusUpValue(this.userMonster.defense, statusValue.defense + friendshipBonusValue.defense + (int)num9 + num12);
            flag = true;
        }
        if (this.sAtkUpLabel != null)
        {
            float num13 = 0f;
            float num14 = 0f;
            int   num15 = 0;
            if (int.TryParse(this.userMonster.spAttackAbility, out num15))
            {
                num13 = Mathf.Floor((float)statusValue.magicAttack * (float)num15 / 100f);
                num14 = Mathf.Floor((float)statusValue2.magicAttack * (float)num15 / 100f);
            }
            int num16 = int.Parse(this.userMonster.spAttack) - (statusValue2.magicAttack + friendshipBonusValue.magicAttack + (int)num14);
            this.sAtkUpLabel.text = this.GetTextStatusUpValue(this.userMonster.spAttack, statusValue.magicAttack + friendshipBonusValue.magicAttack + (int)num13 + num16);
            flag = true;
        }
        if (this.sDefUpLabel != null)
        {
            float num17 = 0f;
            float num18 = 0f;
            int   num19 = 0;
            if (int.TryParse(this.userMonster.spDefenseAbility, out num19))
            {
                num17 = Mathf.Floor((float)statusValue.magicDefense * (float)num19 / 100f);
                num18 = Mathf.Floor((float)statusValue2.magicDefense * (float)num19 / 100f);
            }
            int num20 = int.Parse(this.userMonster.spDefense) - (statusValue2.magicDefense + friendshipBonusValue.magicDefense + (int)num18);
            this.sDefUpLabel.text = this.GetTextStatusUpValue(this.userMonster.spDefense, statusValue.magicDefense + friendshipBonusValue.magicDefense + (int)num17 + num20);
            flag = true;
        }
        if (this.spdUpLabel != null)
        {
            float num21 = 0f;
            float num22 = 0f;
            int   num23 = 0;
            if (int.TryParse(this.userMonster.speedAbility, out num23))
            {
                num21 = Mathf.Floor((float)statusValue.speed * (float)num23 / 100f);
                num22 = Mathf.Floor((float)statusValue2.speed * (float)num23 / 100f);
            }
            int num24 = int.Parse(this.userMonster.speed) - (statusValue2.speed + friendshipBonusValue.speed + (int)num22);
            this.spdUpLabel.text = this.GetTextStatusUpValue(this.userMonster.speed, statusValue.speed + friendshipBonusValue.speed + (int)num21 + num24);
            flag = true;
        }
        if (this.luckUpLabel != null)
        {
            this.luckUpLabel.text = this.GetTextStatusUpValue("0", this.luckUpValue);
            flag = true;
        }
        if (flag && this.animationCoroutine == null)
        {
            this.animationCoroutine = AppCoroutine.Start(this.PlayStatusUpAnimation(), false);
        }
    }