Example #1
0
 public void Setup(UnitData owner, long iid, string iname, int exp, int rank_cap = 0)
 {
     if (string.IsNullOrEmpty(iname))
     {
         this.Reset();
     }
     else
     {
         GameManager instance = MonoSingleton <GameManager> .Instance;
         this.mOwner        = owner;
         this.mAbilityParam = instance.GetAbilityParam(iname);
         this.mUniqueID     = (OLong)iid;
         this.mExp          = (OInt)exp;
         this.mRankCap      = (OInt)this.mAbilityParam.GetRankCap();
         if (rank_cap > 0)
         {
             this.mRankCap = (OInt)rank_cap;
         }
         this.mRank   = (OInt)this.CalcRank();
         this.mSkills = (List <SkillData>)null;
         AbilityParam abilityParam = this.Param;
         if (abilityParam.skills == null)
         {
             return;
         }
         this.mSkills = new List <SkillData>(abilityParam.skills.Length);
         this.UpdateLearningsSkill(true, (List <SkillData>)null);
     }
 }
Example #2
0
 private void Reset()
 {
     this.mUniqueID     = (OLong)0L;
     this.mAbilityParam = (AbilityParam)null;
     this.mExp          = (OInt)0;
     this.mRank         = (OInt)1;
     this.mSkills       = (List <SkillData>)null;
 }
Example #3
0
        public bool Setup(long iid, string iname)
        {
            this.mArtifactParam = MonoSingleton <GameManager> .GetInstanceDirect().MasterParam.GetArtifactParam(iname);

            DebugUtility.Assert(this.mArtifactParam != null, "Failed ArtifactParam iname \"" + iname + "\" not found.");
            this.mUniqueID = (OLong)iid;
            return(true);
        }
Example #4
0
        public bool Deserialize(JSON_ConceptCardMaterial json)
        {
            this.mUniqueID = (OLong)json.id;
            this.mIName    = (OString)json.iname;
            this.mNum      = (OInt)json.num;
            this.mParam    = MonoSingleton <GameManager> .Instance.MasterParam.GetConceptCardParam(json.iname);

            return(true);
        }
Example #5
0
        public ConceptCardData GetItem(int index)
        {
            if (this.mMultiSelectedUniqueID.Count <= index)
            {
                return((ConceptCardData)null);
            }
            OLong uid = this.mMultiSelectedUniqueID[index];

            return(MonoSingleton <GameManager> .Instance.Player.ConceptCards.Find((Predicate <ConceptCardData>)(obj => (long)obj.UniqueID == (long)uid)));
        }
Example #6
0
 public void Reset()
 {
     this.mArtifactParam = (ArtifactParam)null;
     this.mRarityParam   = (RarityParam)null;
     this.mRarity        = (OInt)0;
     this.mExp           = (OInt)0;
     this.mLv            = (OInt)1;
     this.mUniqueID      = (OLong)0L;
     this.mFavorite      = false;
 }
Example #7
0
        public bool Deserialize(JSON_ConceptCard json)
        {
            this.mUniqueID         = (OLong)json.iid;
            this.mExp              = (OInt)json.exp;
            this.mTrust            = (OInt)json.trust;
            this.mFavorite         = json.fav != 0;
            this.mTrustBonus       = json.trust_bonus != 0;
            this.mAwakeCount       = (OInt)json.plus;
            this.mConceptCardParam = MonoSingleton <GameManager> .Instance.MasterParam.GetConceptCardParam(json.iname);

            this.mLv = (OInt)this.CalcCardLevel();
            this.UpdateEquipEffect();
            this.RefreshFilterType();
            return(true);
        }
Example #8
0
        public void Update()
        {
            if ((int)this.val >= (int)this.valMax || (double)this.lastUpdateTime == (double)Time.get_realtimeSinceStartup())
            {
                return;
            }
            this.lastUpdateTime = Time.get_realtimeSinceStartup();
            long num1     = Network.GetServerTime() - (long)this.at;
            long at       = (long)this.at;
            long interval = (long)this.interval;
            int  num2     = (int)(num1 / interval);

            this.at  = (OLong)(at + (long)num2 * interval);
            this.val = (OInt)Math.Min((int)this.val + num2, (int)this.valMax);
        }
Example #9
0
        public List <ConceptCardData> GetList()
        {
            List <ConceptCardData> conceptCardDataList = new List <ConceptCardData>();

            using (List <OLong> .Enumerator enumerator = this.mMultiSelectedUniqueID.GetEnumerator())
            {
                while (enumerator.MoveNext())
                {
                    OLong           uid             = enumerator.Current;
                    ConceptCardData conceptCardData = MonoSingleton <GameManager> .Instance.Player.ConceptCards.Find((Predicate <ConceptCardData>)(obj => (long)obj.UniqueID == (long)uid));

                    conceptCardDataList.Add(conceptCardData);
                }
            }
            return(conceptCardDataList);
        }
Example #10
0
        public void Deserialize(Json_Artifact json)
        {
            if (json == null || string.IsNullOrEmpty(json.iname))
            {
                this.Reset();
            }
            else
            {
                GameManager instanceDirect = MonoSingleton <GameManager> .GetInstanceDirect();

                this.mArtifactParam = instanceDirect.MasterParam.GetArtifactParam(json.iname);
                this.mUniqueID      = (OLong)json.iid;
                this.mRarity        = (OInt)Math.Min(Math.Max(json.rare, this.mArtifactParam.rareini), this.mArtifactParam.raremax);
                this.mRarityParam   = instanceDirect.GetRarityParam((int)this.mRarity);
                this.mExp           = (OInt)json.exp;
                this.mLv            = (OInt)this.GetLevelFromExp((int)this.mExp);
                this.mFavorite      = json.fav != 0;
                this.UpdateEquipEffect();
                this.UpdateLearningAbilities(false);
            }
        }
Example #11
0
 public void SubValue(int subval)
 {
     this.at  = (OLong)Network.GetServerTime();
     this.val = (OInt)Math.Max((int)this.val - subval, 0);
 }
Example #12
0
 public bool Deserialize(JSON_FixParam json)
 {
     if (json == null)
     {
         return(false);
     }
     this.ShopUpdateTime                = (OInt[])null;
     this.CriticalRate_Cri_Multiply     = (OInt)json.mulcri;
     this.CriticalRate_Cri_Division     = (OInt)json.divcri;
     this.CriticalRate_Luk_Multiply     = (OInt)json.mulluk;
     this.CriticalRate_Luk_Division     = (OInt)json.divluk;
     this.MinCriticalDamageRate         = (OInt)json.mincri;
     this.MaxCriticalDamageRate         = (OInt)json.maxcri;
     this.HighGridAtkRate               = (OInt)json.hatk;
     this.HighGridDefRate               = (OInt)json.hdef;
     this.HighGridCriRate               = (OInt)json.hcri;
     this.DownGridAtkRate               = (OInt)json.datk;
     this.DownGridDefRate               = (OInt)json.ddef;
     this.DownGridCriRate               = (OInt)json.dcri;
     this.ParalysedRate                 = (OInt)json.paralyse;
     this.PoisonDamageRate              = (OInt)json.poi_rate;
     this.BlindnessHitRate              = (OInt)json.bli_hit;
     this.BlindnessAvoidRate            = (OInt)json.bli_avo;
     this.BerserkAtkRate                = (OInt)json.ber_atk;
     this.BerserkDefRate                = (OInt)json.ber_def;
     this.TokkouDamageRate              = (OInt)json.tk_rate;
     this.AbilityRankUpCountCoin        = (OInt)json.abilupcoin;
     this.AbilityRankUpCountMax         = (OInt)json.abilupmax;
     this.AbilityRankUpCountRecoveryVal = (OInt)json.abiluprec;
     this.AbilityRankUpCountRecoverySec = (OLong)((long)json.abilupsec);
     this.StaminaRecoveryCoin           = (OInt)json.stmncoin;
     this.StaminaRecoveryVal            = (OInt)json.stmnrec;
     this.StaminaRecoverySec            = (OLong)((long)json.stmnsec);
     this.StaminaStockCap               = (OInt)json.stmncap;
     this.StaminaAdd     = (OInt)json.stmnadd;
     this.StaminaAdd2    = (OInt)json.stmnadd2;
     this.StaminaAddCost = (OInt[])null;
     if (json.stmncost != null)
     {
         this.StaminaAddCost = new OInt[json.stmncost.Length];
         for (int index = 0; index < json.stmncost.Length; ++index)
         {
             this.StaminaAddCost[index] = (OInt)json.stmncost[index];
         }
     }
     this.CaveStaminaMax         = (OInt)json.cavemax;
     this.CaveStaminaRecoveryVal = (OInt)json.caverec;
     this.CaveStaminaRecoverySec = (OLong)((long)json.cavesec);
     this.CaveStaminaStockCap    = (OInt)json.cavecap;
     this.CaveStaminaAdd         = (OInt)json.caveadd;
     this.CaveStaminaAddCost     = (OInt[])null;
     if (json.cavecost != null)
     {
         this.CaveStaminaAddCost = new OInt[json.cavecost.Length];
         for (int index = 0; index < json.cavecost.Length; ++index)
         {
             this.CaveStaminaAddCost[index] = (OInt)json.cavecost[index];
         }
     }
     this.ChallengeArenaMax         = (OInt)json.arenamax;
     this.ChallengeArenaCoolDownSec = (OLong)((long)json.arenasec);
     this.ArenaMedalMultipler       = (OInt)json.arenamedal;
     this.ArenaCoinRewardMultipler  = (OInt)json.arenacoin;
     this.ArenaResetCooldownCost    = (OInt)json.arenaccost;
     this.ArenaResetTicketCost      = (OInt[])null;
     if (json.arenatcost != null)
     {
         this.ArenaResetTicketCost = new OInt[json.arenatcost.Length];
         for (int index = 0; index < json.arenatcost.Length; ++index)
         {
             this.ArenaResetTicketCost[index] = (OInt)json.arenatcost[index];
         }
     }
     this.ChallengeTourMax           = (OInt)json.tourmax;
     this.ChallengeMultiMax          = (OInt)json.multimax;
     this.AwakeRate                  = (OInt)json.awakerate;
     this.GemsGainNormalAttack       = (OInt)json.na_gems;
     this.GemsGainSideAttack         = (OInt)json.sa_gems;
     this.GemsGainBackAttack         = (OInt)json.ba_gems;
     this.GemsGainWeakAttack         = (OInt)json.wa_gems;
     this.GemsGainCriticalAttack     = (OInt)json.ca_gems;
     this.GemsGainKillBonus          = (OInt)json.ki_gems;
     this.GemsGainDiffFloorCount     = (OInt)json.di_gems_floor;
     this.GemsGainDiffFloorMax       = (OInt)json.di_gems_max;
     this.ElementResistUpRate        = (OInt)json.elem_up;
     this.ElementResistDownRate      = (OInt)json.elem_down;
     this.GemsGainValue              = (OInt)json.gems_gain;
     this.GemsBuffValue              = (OInt)json.gems_buff;
     this.GemsBuffTurn               = (OInt)json.gems_buff_turn;
     this.ContinueCoinCost           = (OInt)json.continue_cost;
     this.ContinueCoinCostMulti      = (OInt)json.continue_cost_multi;
     this.ContinueCoinCostMultiTower = (OInt)json.continue_cost_multitower;
     this.AvoidBaseRate              = (OInt)json.avoid_rate;
     this.AvoidParamScale            = (OInt)json.avoid_scale;
     this.MaxAvoidRate               = (OInt)json.avoid_rate_max;
     if (json.shop_update_time != null && json.shop_update_time.Length > 0)
     {
         this.ShopUpdateTime = new OInt[json.shop_update_time.Length];
         for (int index = 0; index < this.ShopUpdateTime.Length; ++index)
         {
             this.ShopUpdateTime[index] = (OInt)json.shop_update_time[index];
         }
     }
     if (json.products != null && json.products.Length > 0)
     {
         this.Products = new OString[json.products.Length];
         for (int index = 0; index < this.Products.Length; ++index)
         {
             this.Products[index] = (OString)json.products[index];
         }
     }
     this.VipCardProduct           = (OString)json.vip_product;
     this.VipCardDate              = (OInt)json.vip_date;
     this.FreeGachaGoldMax         = (OInt)json.ggmax;
     this.FreeGachaGoldCoolDownSec = (OLong)((long)json.ggsec);
     this.FreeGachaCoinCoolDownSec = (OLong)((long)json.cgsec);
     this.BuyGoldCost              = (OInt)json.buygoldcost;
     this.BuyGoldAmount            = (OInt)json.buygold;
     this.SupportCost              = (OInt)json.sp_cost;
     this.ChallengeEliteMax        = (OInt)json.elitemax;
     this.EliteResetMax            = (OInt)json.elite_reset_max;
     if (json.elite_reset_cost != null && json.elite_reset_cost.Length > 0)
     {
         this.EliteResetCosts = new OInt[json.elite_reset_cost.Length];
         for (int index = 0; index < this.EliteResetCosts.Length; ++index)
         {
             this.EliteResetCosts[index] = (OInt)json.elite_reset_cost[index];
         }
     }
     if (!this.DefaultCondTurns.ContainsKey(EUnitCondition.Poison))
     {
         this.DefaultCondTurns.Add(EUnitCondition.Poison, (OInt)0);
     }
     if (!this.DefaultCondTurns.ContainsKey(EUnitCondition.Paralysed))
     {
         this.DefaultCondTurns.Add(EUnitCondition.Paralysed, (OInt)0);
     }
     if (!this.DefaultCondTurns.ContainsKey(EUnitCondition.Stun))
     {
         this.DefaultCondTurns.Add(EUnitCondition.Stun, (OInt)0);
     }
     if (!this.DefaultCondTurns.ContainsKey(EUnitCondition.Sleep))
     {
         this.DefaultCondTurns.Add(EUnitCondition.Sleep, (OInt)0);
     }
     if (!this.DefaultCondTurns.ContainsKey(EUnitCondition.Charm))
     {
         this.DefaultCondTurns.Add(EUnitCondition.Charm, (OInt)0);
     }
     if (!this.DefaultCondTurns.ContainsKey(EUnitCondition.Stone))
     {
         this.DefaultCondTurns.Add(EUnitCondition.Stone, (OInt)0);
     }
     if (!this.DefaultCondTurns.ContainsKey(EUnitCondition.Blindness))
     {
         this.DefaultCondTurns.Add(EUnitCondition.Blindness, (OInt)0);
     }
     if (!this.DefaultCondTurns.ContainsKey(EUnitCondition.DisableSkill))
     {
         this.DefaultCondTurns.Add(EUnitCondition.DisableSkill, (OInt)0);
     }
     if (!this.DefaultCondTurns.ContainsKey(EUnitCondition.DisableMove))
     {
         this.DefaultCondTurns.Add(EUnitCondition.DisableMove, (OInt)0);
     }
     if (!this.DefaultCondTurns.ContainsKey(EUnitCondition.DisableAttack))
     {
         this.DefaultCondTurns.Add(EUnitCondition.DisableAttack, (OInt)0);
     }
     if (!this.DefaultCondTurns.ContainsKey(EUnitCondition.Zombie))
     {
         this.DefaultCondTurns.Add(EUnitCondition.Zombie, (OInt)0);
     }
     if (!this.DefaultCondTurns.ContainsKey(EUnitCondition.DeathSentence))
     {
         this.DefaultCondTurns.Add(EUnitCondition.DeathSentence, (OInt)0);
     }
     if (!this.DefaultCondTurns.ContainsKey(EUnitCondition.Berserk))
     {
         this.DefaultCondTurns.Add(EUnitCondition.Berserk, (OInt)0);
     }
     if (!this.DefaultCondTurns.ContainsKey(EUnitCondition.DisableKnockback))
     {
         this.DefaultCondTurns.Add(EUnitCondition.DisableKnockback, (OInt)0);
     }
     if (!this.DefaultCondTurns.ContainsKey(EUnitCondition.DisableBuff))
     {
         this.DefaultCondTurns.Add(EUnitCondition.DisableBuff, (OInt)0);
     }
     if (!this.DefaultCondTurns.ContainsKey(EUnitCondition.DisableDebuff))
     {
         this.DefaultCondTurns.Add(EUnitCondition.DisableDebuff, (OInt)0);
     }
     if (!this.DefaultCondTurns.ContainsKey(EUnitCondition.Stop))
     {
         this.DefaultCondTurns.Add(EUnitCondition.Stop, (OInt)0);
     }
     if (!this.DefaultCondTurns.ContainsKey(EUnitCondition.Fast))
     {
         this.DefaultCondTurns.Add(EUnitCondition.Fast, (OInt)0);
     }
     if (!this.DefaultCondTurns.ContainsKey(EUnitCondition.Slow))
     {
         this.DefaultCondTurns.Add(EUnitCondition.Slow, (OInt)0);
     }
     if (!this.DefaultCondTurns.ContainsKey(EUnitCondition.AutoHeal))
     {
         this.DefaultCondTurns.Add(EUnitCondition.AutoHeal, (OInt)0);
     }
     if (!this.DefaultCondTurns.ContainsKey(EUnitCondition.Donsoku))
     {
         this.DefaultCondTurns.Add(EUnitCondition.Donsoku, (OInt)0);
     }
     if (!this.DefaultCondTurns.ContainsKey(EUnitCondition.Rage))
     {
         this.DefaultCondTurns.Add(EUnitCondition.Rage, (OInt)0);
     }
     if (!this.DefaultCondTurns.ContainsKey(EUnitCondition.GoodSleep))
     {
         this.DefaultCondTurns.Add(EUnitCondition.GoodSleep, (OInt)0);
     }
     if (!this.DefaultCondTurns.ContainsKey(EUnitCondition.AutoJewel))
     {
         this.DefaultCondTurns.Add(EUnitCondition.AutoJewel, (OInt)0);
     }
     if (!this.DefaultCondTurns.ContainsKey(EUnitCondition.DisableHeal))
     {
         this.DefaultCondTurns.Add(EUnitCondition.DisableHeal, (OInt)0);
     }
     if (!this.DefaultCondTurns.ContainsKey(EUnitCondition.DisableSingleAttack))
     {
         this.DefaultCondTurns.Add(EUnitCondition.DisableSingleAttack, (OInt)0);
     }
     if (!this.DefaultCondTurns.ContainsKey(EUnitCondition.DisableAreaAttack))
     {
         this.DefaultCondTurns.Add(EUnitCondition.DisableAreaAttack, (OInt)0);
     }
     if (!this.DefaultCondTurns.ContainsKey(EUnitCondition.DisableDecCT))
     {
         this.DefaultCondTurns.Add(EUnitCondition.DisableDecCT, (OInt)0);
     }
     if (!this.DefaultCondTurns.ContainsKey(EUnitCondition.DisableIncCT))
     {
         this.DefaultCondTurns.Add(EUnitCondition.DisableIncCT, (OInt)0);
     }
     if (!this.DefaultCondTurns.ContainsKey(EUnitCondition.DisableEsaFire))
     {
         this.DefaultCondTurns.Add(EUnitCondition.DisableEsaFire, (OInt)0);
     }
     if (!this.DefaultCondTurns.ContainsKey(EUnitCondition.DisableEsaWater))
     {
         this.DefaultCondTurns.Add(EUnitCondition.DisableEsaWater, (OInt)0);
     }
     if (!this.DefaultCondTurns.ContainsKey(EUnitCondition.DisableEsaWind))
     {
         this.DefaultCondTurns.Add(EUnitCondition.DisableEsaWind, (OInt)0);
     }
     if (!this.DefaultCondTurns.ContainsKey(EUnitCondition.DisableEsaThunder))
     {
         this.DefaultCondTurns.Add(EUnitCondition.DisableEsaThunder, (OInt)0);
     }
     if (!this.DefaultCondTurns.ContainsKey(EUnitCondition.DisableEsaShine))
     {
         this.DefaultCondTurns.Add(EUnitCondition.DisableEsaShine, (OInt)0);
     }
     if (!this.DefaultCondTurns.ContainsKey(EUnitCondition.DisableEsaDark))
     {
         this.DefaultCondTurns.Add(EUnitCondition.DisableEsaDark, (OInt)0);
     }
     if (!this.DefaultCondTurns.ContainsKey(EUnitCondition.DisableMaxDamageHp))
     {
         this.DefaultCondTurns.Add(EUnitCondition.DisableMaxDamageHp, (OInt)0);
     }
     if (!this.DefaultCondTurns.ContainsKey(EUnitCondition.DisableMaxDamageMp))
     {
         this.DefaultCondTurns.Add(EUnitCondition.DisableMaxDamageMp, (OInt)0);
     }
     this.DefaultCondTurns[EUnitCondition.Poison]              = (OInt)json.ct_poi;
     this.DefaultCondTurns[EUnitCondition.Paralysed]           = (OInt)json.ct_par;
     this.DefaultCondTurns[EUnitCondition.Stun]                = (OInt)json.ct_stu;
     this.DefaultCondTurns[EUnitCondition.Sleep]               = (OInt)json.ct_sle;
     this.DefaultCondTurns[EUnitCondition.Charm]               = (OInt)json.st_cha;
     this.DefaultCondTurns[EUnitCondition.Stone]               = (OInt)json.ct_sto;
     this.DefaultCondTurns[EUnitCondition.Blindness]           = (OInt)json.ct_bli;
     this.DefaultCondTurns[EUnitCondition.DisableSkill]        = (OInt)json.ct_dsk;
     this.DefaultCondTurns[EUnitCondition.DisableMove]         = (OInt)json.ct_dmo;
     this.DefaultCondTurns[EUnitCondition.DisableAttack]       = (OInt)json.ct_dat;
     this.DefaultCondTurns[EUnitCondition.Zombie]              = (OInt)json.ct_zom;
     this.DefaultCondTurns[EUnitCondition.DeathSentence]       = (OInt)json.ct_dea;
     this.DefaultCondTurns[EUnitCondition.Berserk]             = (OInt)json.ct_ber;
     this.DefaultCondTurns[EUnitCondition.DisableKnockback]    = (OInt)json.ct_dkn;
     this.DefaultCondTurns[EUnitCondition.DisableBuff]         = (OInt)json.ct_dbu;
     this.DefaultCondTurns[EUnitCondition.DisableDebuff]       = (OInt)json.ct_ddb;
     this.DefaultCondTurns[EUnitCondition.Stop]                = (OInt)json.ct_stop;
     this.DefaultCondTurns[EUnitCondition.Fast]                = (OInt)json.ct_fast;
     this.DefaultCondTurns[EUnitCondition.Slow]                = (OInt)json.ct_slow;
     this.DefaultCondTurns[EUnitCondition.AutoHeal]            = (OInt)json.ct_ahe;
     this.DefaultCondTurns[EUnitCondition.Donsoku]             = (OInt)json.ct_don;
     this.DefaultCondTurns[EUnitCondition.Rage]                = (OInt)json.ct_rag;
     this.DefaultCondTurns[EUnitCondition.GoodSleep]           = (OInt)json.ct_gsl;
     this.DefaultCondTurns[EUnitCondition.AutoJewel]           = (OInt)json.ct_aje;
     this.DefaultCondTurns[EUnitCondition.DisableHeal]         = (OInt)json.ct_dhe;
     this.DefaultCondTurns[EUnitCondition.DisableSingleAttack] = (OInt)json.ct_dsa;
     this.DefaultCondTurns[EUnitCondition.DisableAreaAttack]   = (OInt)json.ct_daa;
     this.DefaultCondTurns[EUnitCondition.DisableDecCT]        = (OInt)json.ct_ddc;
     this.DefaultCondTurns[EUnitCondition.DisableIncCT]        = (OInt)json.ct_dic;
     this.DefaultCondTurns[EUnitCondition.DisableEsaFire]      = (OInt)json.ct_esa;
     this.DefaultCondTurns[EUnitCondition.DisableEsaWater]     = (OInt)json.ct_esa;
     this.DefaultCondTurns[EUnitCondition.DisableEsaWind]      = (OInt)json.ct_esa;
     this.DefaultCondTurns[EUnitCondition.DisableEsaThunder]   = (OInt)json.ct_esa;
     this.DefaultCondTurns[EUnitCondition.DisableEsaShine]     = (OInt)json.ct_esa;
     this.DefaultCondTurns[EUnitCondition.DisableEsaDark]      = (OInt)json.ct_esa;
     this.DefaultCondTurns[EUnitCondition.DisableMaxDamageHp]  = (OInt)json.ct_mdh;
     this.DefaultCondTurns[EUnitCondition.DisableMaxDamageMp]  = (OInt)json.ct_mdm;
     this.RandomEffectMax       = (OInt)json.yuragi;
     this.ChargeTimeMax         = (OInt)json.ct_max;
     this.ChargeTimeDecWait     = (OInt)json.ct_wait;
     this.ChargeTimeDecMove     = (OInt)json.ct_mov;
     this.ChargeTimeDecAction   = (OInt)json.ct_act;
     this.AddHitRateSide        = (OInt)json.hit_side;
     this.AddHitRateBack        = (OInt)json.hit_back;
     this.HpAutoHealRate        = (OInt)json.ahhp_rate;
     this.MpAutoHealRate        = (OInt)json.ahmp_rate;
     this.GoodSleepHpHealRate   = (OInt)json.gshp_rate;
     this.GoodSleepMpHealRate   = (OInt)json.gsmp_rate;
     this.HpDyingRate           = (OInt)json.dy_rate;
     this.ZeneiSupportSkillRate = (OInt)json.zsup_rate;
     this.BeginnerDays          = (OInt)json.beginner_days;
     this.ArtifactBoxCap        = (OInt)json.afcap;
     this.CommonPieceFire       = (OString)json.cmn_pi_fire;
     this.CommonPieceWater      = (OString)json.cmn_pi_water;
     this.CommonPieceThunder    = (OString)json.cmn_pi_thunder;
     this.CommonPieceWind       = (OString)json.cmn_pi_wind;
     this.CommonPieceShine      = (OString)json.cmn_pi_shine;
     this.CommonPieceDark       = (OString)json.cmn_pi_dark;
     this.CommonPieceAll        = (OString)json.cmn_pi_all;
     this.PartyNumNormal        = json.ptnum_nml;
     this.PartyNumEvent         = json.ptnum_evnt;
     this.PartyNumMulti         = json.ptnum_mlt;
     this.PartyNumArenaAttack   = json.ptnum_aatk;
     this.PartyNumArenaDefense  = json.ptnum_adef;
     this.PartyNumChQuest       = json.ptnum_chq;
     this.PartyNumTower         = json.ptnum_tow;
     this.PartyNumVersus        = json.ptnum_vs;
     this.PartyNumMultiTower    = json.ptnum_mt;
     this.PartyNumOrdeal        = json.ptnum_ordeal;
     this.IsDisableSuspend      = (OBool)(json.notsus != 0);
     this.SuspendSaveInterval   = (OInt)json.sus_int;
     this.IsJobMaster           = json.jobms != 0;
     this.DefaultDeathCount     = (OInt)json.death_count;
     this.DefaultClockUpValue   = (OInt)json.fast_val;
     this.DefaultClockDownValue = (OInt)json.slow_val;
     if (json.equip_artifact_slot_unlock != null && json.equip_artifact_slot_unlock.Length > 0)
     {
         this.EquipArtifactSlotUnlock = new OInt[json.equip_artifact_slot_unlock.Length];
         for (int index = 0; index < json.equip_artifact_slot_unlock.Length; ++index)
         {
             this.EquipArtifactSlotUnlock[index] = (OInt)json.equip_artifact_slot_unlock[index];
         }
     }
     this.KnockBackHeight = (OInt)json.kb_gh;
     this.ThrowHeight     = (OInt)json.th_gh;
     if (json.art_rare_pi != null)
     {
         this.ArtifactRarePiece = new OString[json.art_rare_pi.Length];
         for (int index = 0; index < this.ArtifactRarePiece.Length; ++index)
         {
             this.ArtifactRarePiece[index] = (OString)json.art_rare_pi[index];
         }
     }
     this.ArtifactCommonPiece        = (OString)json.art_cmn_pi;
     this.SoulCommonPiece            = this.ConvertOStringArray(json.soul_rare);
     this.EquipCommonPiece           = this.ConvertOStringArray(json.equ_rare_pi);
     this.EquipCommonPieceNum        = this.ConvertOIntArray(json.equ_rare_pi_use);
     this.EquipCommonPieceCost       = this.ConvertOIntArray(json.equ_rare_cost);
     this.EquipCmn                   = this.ConvertOStringArray(json.equip_cmn);
     this.AudienceMax                = (OInt)json.aud_max;
     this.AbilityRankUpPointMax      = (OInt)json.ab_rankup_max;
     this.AbilityRankUpPointAddMax   = (OInt)json.ab_rankup_addmax;
     this.AbilityRankupPointCoinRate = (OInt)json.ab_coin_convert;
     this.FirstFriendMax             = (OInt)json.firstfriend_max;
     this.FirstFriendCoin            = (OInt)json.firstfriend_coin;
     this.CombinationRate            = (OInt)json.cmb_rate;
     this.WeakUpRate                 = (OInt)json.weak_up;
     this.ResistDownRate             = (OInt)json.resist_dw;
     this.OrdealCT                   = (OInt)json.ordeal_ct;
     this.EsaAssist                  = (OInt)json.esa_assist;
     this.EsaResist                  = (OInt)json.esa_resist;
     this.CardSellMul                = json.card_sell_mul;
     this.CardExpMul                 = json.card_exp_mul;
     this.CardMax                 = (OInt)json.card_max;
     this.CardTrustMax            = (OInt)json.card_trust_max;
     this.CardTrustPileUp         = (OInt)json.card_trust_en_bonus;
     this.CardAwakeUnlockLevelCap = (OInt)json.card_awake_unlock_lvcap;
     this.TobiraLvCap             = (OInt)json.tobira_lv_cap;
     this.TobiraUnitLvCapBonus    = (OInt)json.tobira_unit_lv_cap;
     this.TobiraUnlockElem        = new OString[json.tobira_unlock_elem.Length];
     for (int index = 0; index < this.TobiraUnlockElem.Length; ++index)
     {
         this.TobiraUnlockElem[index] = (OString)json.tobira_unlock_elem[index];
     }
     this.TobiraUnlockBirth = new OString[json.tobira_unlock_birth.Length];
     for (int index = 0; index < this.TobiraUnlockBirth.Length; ++index)
     {
         this.TobiraUnlockBirth[index] = (OString)json.tobira_unlock_birth[index];
     }
     this.IniValRec            = (OInt)json.ini_rec;
     this.GuerrillaVal         = (OInt)json.guerrilla_val;
     this.DraftSelectSeconds   = (OInt)json.draft_select_sec;
     this.DraftOrganizeSeconds = (OInt)json.draft_organize_sec;
     this.DraftPlaceSeconds    = (OInt)json.draft_place_sec;
     return(true);
 }