public override bool GetActorStaticData(ref ActorMeta actorMeta, ref ActorStaticData actorData)
 {
     actorData.TheActorMeta = actorMeta;
     ActorStaticDataProviderBase.ActorDataBuilder actorDataBuilder = null;
     this._actorDataBuilder.TryGetValue((uint)actorMeta.ActorType, out actorDataBuilder);
     return(actorDataBuilder != null && actorDataBuilder(ref actorMeta, ref actorData));
 }
        protected override bool BuildHeroData(ref ActorMeta actorMeta, ref ActorStaticData actorData)
        {
            IGameActorDataProvider actorDataProvider = Singleton <ActorDataCenter> .instance.GetActorDataProvider(GameActorDataProviderType.StaticLobbyDataProvider);

            actorData.ProviderType = GameActorDataProviderType.StaticBattleDataProvider;
            return(actorDataProvider.GetActorStaticData(ref actorMeta, ref actorData));
        }
Exemple #3
0
        public override bool GetActorStaticData(ref ActorMeta actorMeta, ref ActorStaticData actorData)
        {
            actorData.TheActorMeta = actorMeta;
            ActorDataBuilder builder = null;

            this._actorDataBuilder.TryGetValue((uint)actorMeta.ActorType, out builder);
            return((builder != null) && builder(ref actorMeta, ref actorData));
        }
        protected override bool BuildHeroData(ref ActorMeta actorMeta, ref ActorStaticData actorData)
        {
            IGameActorDataProvider actorDataProvider = Singleton <ActorDataCenter> .instance.GetActorDataProvider(GameActorDataProviderType.StaticLobbyDataProvider);

            actorData.ProviderType = GameActorDataProviderType.StaticBattleDataProvider;
            actorData.TheBaseAttribute.RandomPassiveSkillRule = 0;
            return(actorDataProvider.GetActorStaticData(ref actorMeta, ref actorData));
        }
Exemple #5
0
        protected override bool BuildMonsterData(ref ActorMeta actorMeta, ref ActorStaticData actorData)
        {
            ResMonsterCfgInfo resMonsterCfgInfo = this.ConsiderDifficultyToChooseMonsterCfg((uint)actorData.TheActorMeta.ConfigId, actorData.TheActorMeta.Difficuty);

            if (resMonsterCfgInfo == null)
            {
                resMonsterCfgInfo = MonsterDataHelper.GetDataCfgInfo(actorData.TheActorMeta.ConfigId, (int)actorData.TheActorMeta.Difficuty);
                if (resMonsterCfgInfo == null)
                {
                    resMonsterCfgInfo = MonsterDataHelper.GetDataCfgInfo(actorData.TheActorMeta.ConfigId, 1);
                }
                if (resMonsterCfgInfo == null)
                {
                    base.ErrorMissingMonsterConfig((uint)actorData.TheActorMeta.ConfigId);
                    return(false);
                }
            }
            DynamicAttributeInfo dynamicAttributeInfo = this.ConsiderMonsterDynamicInfo(resMonsterCfgInfo);

            actorData.TheBaseAttribute.EpType                           = 1u;
            actorData.TheBaseAttribute.BaseHp                           = ((dynamicAttributeInfo == null) ? resMonsterCfgInfo.iBaseHP : dynamicAttributeInfo.iBaseHP);
            actorData.TheBaseAttribute.PerLvHp                          = 0;
            actorData.TheBaseAttribute.BaseAd                           = ((dynamicAttributeInfo == null) ? resMonsterCfgInfo.iBaseATT : dynamicAttributeInfo.iAD);
            actorData.TheBaseAttribute.PerLvAd                          = 0;
            actorData.TheBaseAttribute.BaseAp                           = ((dynamicAttributeInfo == null) ? resMonsterCfgInfo.iBaseINT : dynamicAttributeInfo.iAP);
            actorData.TheBaseAttribute.PerLvAp                          = 0;
            actorData.TheBaseAttribute.BaseAtkSpeed                     = 0;
            actorData.TheBaseAttribute.PerLvAtkSpeed                    = 0;
            actorData.TheBaseAttribute.BaseDef                          = ((dynamicAttributeInfo == null) ? resMonsterCfgInfo.iBaseDEF : dynamicAttributeInfo.iDef);
            actorData.TheBaseAttribute.PerLvDef                         = 0;
            actorData.TheBaseAttribute.BaseRes                          = ((dynamicAttributeInfo == null) ? resMonsterCfgInfo.iBaseRES : dynamicAttributeInfo.iRes);
            actorData.TheBaseAttribute.PerLvRes                         = 0;
            actorData.TheBaseAttribute.BaseHpRecover                    = resMonsterCfgInfo.iBaseHPAdd;
            actorData.TheBaseAttribute.PerLvHpRecover                   = 0;
            actorData.TheBaseAttribute.CriticalChance                   = 0;
            actorData.TheBaseAttribute.CriticalDamage                   = 0;
            actorData.TheBaseAttribute.Sight                            = resMonsterCfgInfo.iSightR;
            actorData.TheBaseAttribute.MoveSpeed                        = resMonsterCfgInfo.iBaseSpeed;
            actorData.TheBaseAttribute.SoulExpGained                    = resMonsterCfgInfo.iSoulExp;
            actorData.TheBaseAttribute.GoldCoinInBattleGained           = (int)resMonsterCfgInfo.wStartingGoldCoinInBattle;
            actorData.TheBaseAttribute.GoldCoinInBattleGainedFloatRange = (int)resMonsterCfgInfo.bGoldCoinInBattleRange;
            actorData.TheBaseAttribute.DynamicProperty                  = resMonsterCfgInfo.dwDynamicPropertyCfg;
            actorData.TheBaseAttribute.ClashMark                        = resMonsterCfgInfo.dwClashMark;
            actorData.TheBaseAttribute.RandomPassiveSkillRule           = (int)resMonsterCfgInfo.bRandomPassiveSkillRule;
            actorData.TheBaseAttribute.PassiveSkillID1                  = 0;
            actorData.TheBaseAttribute.PassiveSkillID2                  = 0;
            actorData.TheBaseAttribute.DeadControl                      = false;
            actorData.TheMonsterOnlyInfo.MonsterBaseLevel               = resMonsterCfgInfo.iLevel;
            actorData.TheMonsterOnlyInfo.SoldierType                    = resMonsterCfgInfo.bSoldierType;
            actorData.TheResInfo.Name    = StringHelper.UTF8BytesToString(ref resMonsterCfgInfo.szName);
            actorData.TheResInfo.ResPath = StringHelper.UTF8BytesToString(ref resMonsterCfgInfo.szCharacterInfo);
            actorData.ProviderType       = GameActorDataProviderType.StaticBattleDataProvider;
            return(true);
        }
		protected override bool BuildHeroData(ref ActorMeta actorMeta, ref ActorStaticData actorData)
		{
			ResHeroCfgInfo dataByKey = GameDataMgr.heroDatabin.GetDataByKey((uint)actorData.TheActorMeta.ConfigId);
			if (dataByKey == null)
			{
				base.ErrorMissingHeroConfig((uint)actorData.TheActorMeta.ConfigId);
				return false;
			}
			this.BuildActorData(dataByKey, ref actorData);
			return true;
		}
Exemple #7
0
        protected override bool BuildOrganData(ref ActorMeta actorMeta, ref ActorStaticData actorData)
        {
            ResOrganCfgInfo dataCfgInfoByCurLevelDiff = OrganDataHelper.GetDataCfgInfoByCurLevelDiff(actorData.TheActorMeta.ConfigId);

            if (dataCfgInfoByCurLevelDiff == null)
            {
                base.ErrorMissingOrganConfig((uint)actorData.TheActorMeta.ConfigId);
                return(false);
            }
            DynamicAttributeInfo dynamicAttributeInfo = this.ConsiderOrganDynamicInfo(dataCfgInfoByCurLevelDiff);

            actorData.TheBaseAttribute.EpType                           = 1u;
            actorData.TheBaseAttribute.BaseHp                           = ((dynamicAttributeInfo == null) ? dataCfgInfoByCurLevelDiff.iBaseHP : dynamicAttributeInfo.iBaseHP);
            actorData.TheBaseAttribute.PerLvHp                          = dataCfgInfoByCurLevelDiff.iHPLvlup;
            actorData.TheBaseAttribute.BaseAd                           = ((dynamicAttributeInfo == null) ? dataCfgInfoByCurLevelDiff.iBaseATT : dynamicAttributeInfo.iAD);
            actorData.TheBaseAttribute.PerLvAd                          = dataCfgInfoByCurLevelDiff.iATTLvlup;
            actorData.TheBaseAttribute.BaseAp                           = ((dynamicAttributeInfo == null) ? dataCfgInfoByCurLevelDiff.iBaseINT : dynamicAttributeInfo.iAP);
            actorData.TheBaseAttribute.PerLvAp                          = dataCfgInfoByCurLevelDiff.iINTLvlup;
            actorData.TheBaseAttribute.BaseAtkSpeed                     = 0;
            actorData.TheBaseAttribute.PerLvAtkSpeed                    = dataCfgInfoByCurLevelDiff.iAtkSpdAddLvlup;
            actorData.TheBaseAttribute.BaseDef                          = ((dynamicAttributeInfo == null) ? dataCfgInfoByCurLevelDiff.iBaseDEF : dynamicAttributeInfo.iDef);
            actorData.TheBaseAttribute.PerLvDef                         = dataCfgInfoByCurLevelDiff.iDEFLvlup;
            actorData.TheBaseAttribute.BaseRes                          = ((dynamicAttributeInfo == null) ? dataCfgInfoByCurLevelDiff.iBaseRES : dynamicAttributeInfo.iRes);
            actorData.TheBaseAttribute.PerLvRes                         = dataCfgInfoByCurLevelDiff.iRESLvlup;
            actorData.TheBaseAttribute.BaseHpRecover                    = dataCfgInfoByCurLevelDiff.iBaseHPAdd;
            actorData.TheBaseAttribute.PerLvHpRecover                   = dataCfgInfoByCurLevelDiff.iHPAddLvlup;
            actorData.TheBaseAttribute.CriticalChance                   = 0;
            actorData.TheBaseAttribute.CriticalDamage                   = 0;
            actorData.TheBaseAttribute.Sight                            = dataCfgInfoByCurLevelDiff.iSightR;
            actorData.TheBaseAttribute.MoveSpeed                        = dataCfgInfoByCurLevelDiff.iBaseSpeed;
            actorData.TheBaseAttribute.SoulExpGained                    = dataCfgInfoByCurLevelDiff.iSoulExp;
            actorData.TheBaseAttribute.GoldCoinInBattleGained           = (int)dataCfgInfoByCurLevelDiff.wGoldCoinInBattle;
            actorData.TheBaseAttribute.GoldCoinInBattleGainedFloatRange = 0;
            actorData.TheBaseAttribute.DynamicProperty                  = dataCfgInfoByCurLevelDiff.dwDynamicPropertyCfg;
            actorData.TheBaseAttribute.ClashMark                        = dataCfgInfoByCurLevelDiff.dwClashMark;
            actorData.TheBaseAttribute.RandomPassiveSkillRule           = 0;
            actorData.TheBaseAttribute.PassiveSkillID1                  = 0;
            actorData.TheBaseAttribute.PassiveSkillID2                  = 0;
            actorData.TheBaseAttribute.DeadControl                      = false;
            actorData.TheResInfo.Name                   = StringHelper.UTF8BytesToString(ref dataCfgInfoByCurLevelDiff.szName);
            actorData.TheResInfo.ResPath                = StringHelper.UTF8BytesToString(ref dataCfgInfoByCurLevelDiff.szCharacterInfo);
            actorData.TheOrganOnlyInfo.OrganType        = (int)dataCfgInfoByCurLevelDiff.bOrganType;
            actorData.TheOrganOnlyInfo.ShowInMinimap    = (dataCfgInfoByCurLevelDiff.bShowInMinimap != 0);
            actorData.TheOrganOnlyInfo.PhyArmorHurtRate = dataCfgInfoByCurLevelDiff.iPhyArmorHurtRate;
            actorData.TheOrganOnlyInfo.AttackRouteID    = dataCfgInfoByCurLevelDiff.iAktRouteID;
            actorData.TheOrganOnlyInfo.DeadEnemySoldier = dataCfgInfoByCurLevelDiff.iDeadEnemySoldier;
            actorData.TheOrganOnlyInfo.NoEnemyAddPhyDef = dataCfgInfoByCurLevelDiff.iNoEnemyAddPhyDef;
            actorData.TheOrganOnlyInfo.NoEnemyAddMgcDef = dataCfgInfoByCurLevelDiff.iNoEnemyAddMgcDef;
            actorData.TheOrganOnlyInfo.HorizonRadius    = dataCfgInfoByCurLevelDiff.iHorizonRadius;
            actorData.ProviderType = GameActorDataProviderType.StaticBattleDataProvider;
            return(true);
        }
        protected override bool BuildHeroData(ref ActorMeta actorMeta, ref ActorStaticData actorData)
        {
            ResHeroCfgInfo dataByKey = GameDataMgr.heroDatabin.GetDataByKey((uint)actorData.TheActorMeta.ConfigId);

            if (dataByKey == null)
            {
                base.ErrorMissingHeroConfig((uint)actorData.TheActorMeta.ConfigId);
                return(false);
            }
            actorData.TheBaseAttribute.EpType                           = dataByKey.dwEnergyType;
            actorData.TheBaseAttribute.BaseEp                           = dataByKey.iEnergy;
            actorData.TheBaseAttribute.EpGrowth                         = dataByKey.iEnergyGrowth;
            actorData.TheBaseAttribute.BaseEpRecover                    = dataByKey.iEnergyRec;
            actorData.TheBaseAttribute.PerLvEpRecover                   = dataByKey.iEnergyRecGrowth;
            actorData.TheBaseAttribute.BaseHp                           = dataByKey.iBaseHP;
            actorData.TheBaseAttribute.PerLvHp                          = dataByKey.iHpGrowth;
            actorData.TheBaseAttribute.BaseAd                           = dataByKey.iBaseATT;
            actorData.TheBaseAttribute.PerLvAd                          = dataByKey.iAtkGrowth;
            actorData.TheBaseAttribute.BaseAp                           = dataByKey.iBaseINT;
            actorData.TheBaseAttribute.PerLvAp                          = dataByKey.iSpellGrowth;
            actorData.TheBaseAttribute.BaseAtkSpeed                     = dataByKey.iBaseAtkSpd;
            actorData.TheBaseAttribute.PerLvAtkSpeed                    = dataByKey.iAtkSpdAddLvlup;
            actorData.TheBaseAttribute.BaseDef                          = dataByKey.iBaseDEF;
            actorData.TheBaseAttribute.PerLvDef                         = dataByKey.iDefGrowth;
            actorData.TheBaseAttribute.BaseRes                          = dataByKey.iBaseRES;
            actorData.TheBaseAttribute.PerLvRes                         = dataByKey.iResistGrowth;
            actorData.TheBaseAttribute.BaseHpRecover                    = dataByKey.iBaseHPAdd;
            actorData.TheBaseAttribute.PerLvHpRecover                   = dataByKey.iHPAddLvlup;
            actorData.TheBaseAttribute.CriticalChance                   = dataByKey.iCritRate;
            actorData.TheBaseAttribute.CriticalDamage                   = dataByKey.iCritEft;
            actorData.TheBaseAttribute.Sight                            = dataByKey.iSightR;
            actorData.TheBaseAttribute.MoveSpeed                        = dataByKey.iBaseSpeed;
            actorData.TheBaseAttribute.SoulExpGained                    = 0;
            actorData.TheBaseAttribute.GoldCoinInBattleGained           = 0;
            actorData.TheBaseAttribute.GoldCoinInBattleGainedFloatRange = 0;
            actorData.TheBaseAttribute.ClashMark                        = 0u;
            actorData.TheBaseAttribute.RandomPassiveSkillRule           = 0;
            actorData.TheBaseAttribute.PassiveSkillID1                  = dataByKey.iPassiveID1;
            actorData.TheBaseAttribute.PassiveSkillID2                  = dataByKey.iPassiveID2;
            actorData.TheBaseAttribute.DeadControl                      = (dataByKey.dwDeadControl == 1u);
            actorData.TheHeroOnlyInfo.HeroCapability                    = (int)dataByKey.bMainJob;
            actorData.TheHeroOnlyInfo.HeroDamageType                    = (int)dataByKey.bDamageType;
            actorData.TheHeroOnlyInfo.HeroAttackType                    = (int)dataByKey.bAttackType;
            actorData.TheHeroOnlyInfo.InitialStar                       = dataByKey.iInitialStar;
            actorData.TheHeroOnlyInfo.RecommendStandPos                 = dataByKey.iRecommendPosition;
            actorData.TheHeroOnlyInfo.AttackDistanceType                = (int)dataByKey.bAttackDistanceType;
            actorData.TheHeroOnlyInfo.HeroNamePinYin                    = dataByKey.szNamePinYin;
            actorData.TheResInfo.Name    = StringHelper.UTF8BytesToString(ref dataByKey.szName);
            actorData.TheResInfo.ResPath = StringHelper.UTF8BytesToString(ref dataByKey.szCharacterInfo);
            actorData.ProviderType       = GameActorDataProviderType.StaticLobbyDataProvider;
            return(true);
        }
		protected override bool BuildCallActorData(ref ActorMeta actorMeta, ref ActorStaticData actorData)
		{
			ResHeroCfgInfo dataByKey = GameDataMgr.heroDatabin.GetDataByKey((uint)actorData.TheActorMeta.HostConfigId);
			if (dataByKey == null)
			{
				base.ErrorMissingHeroConfig((uint)actorData.TheActorMeta.ConfigId);
				return false;
			}
			this.BuildActorData(dataByKey, ref actorData);
			ResHeroCfgInfo dataByKey2 = GameDataMgr.heroDatabin.GetDataByKey((uint)actorData.TheActorMeta.ConfigId);
			actorData.TheResInfo.Name = StringHelper.UTF8BytesToString(ref dataByKey2.szName);
			actorData.TheResInfo.ResPath = StringHelper.UTF8BytesToString(ref dataByKey2.szCharacterInfo);
			return true;
		}
		protected bool BuildActorData(ResHeroCfgInfo heroCfg, ref ActorStaticData actorData)
		{
			actorData.TheBaseAttribute.EpType = heroCfg.dwEnergyType;
			actorData.TheBaseAttribute.BaseEp = heroCfg.iEnergy;
			actorData.TheBaseAttribute.EpGrowth = heroCfg.iEnergyGrowth;
			actorData.TheBaseAttribute.BaseEpRecover = heroCfg.iEnergyRec;
			actorData.TheBaseAttribute.PerLvEpRecover = heroCfg.iEnergyRecGrowth;
			actorData.TheBaseAttribute.BaseHp = heroCfg.iBaseHP;
			actorData.TheBaseAttribute.PerLvHp = heroCfg.iHpGrowth;
			actorData.TheBaseAttribute.BaseAd = heroCfg.iBaseATT;
			actorData.TheBaseAttribute.PerLvAd = heroCfg.iAtkGrowth;
			actorData.TheBaseAttribute.BaseAp = heroCfg.iBaseINT;
			actorData.TheBaseAttribute.PerLvAp = heroCfg.iSpellGrowth;
			actorData.TheBaseAttribute.BaseAtkSpeed = heroCfg.iBaseAtkSpd;
			actorData.TheBaseAttribute.PerLvAtkSpeed = heroCfg.iAtkSpdAddLvlup;
			actorData.TheBaseAttribute.BaseDef = heroCfg.iBaseDEF;
			actorData.TheBaseAttribute.PerLvDef = heroCfg.iDefGrowth;
			actorData.TheBaseAttribute.BaseRes = heroCfg.iBaseRES;
			actorData.TheBaseAttribute.PerLvRes = heroCfg.iResistGrowth;
			actorData.TheBaseAttribute.BaseHpRecover = heroCfg.iBaseHPAdd;
			actorData.TheBaseAttribute.PerLvHpRecover = heroCfg.iHPAddLvlup;
			actorData.TheBaseAttribute.CriticalChance = heroCfg.iCritRate;
			actorData.TheBaseAttribute.CriticalDamage = heroCfg.iCritEft;
			actorData.TheBaseAttribute.Sight = heroCfg.iSightR;
			actorData.TheBaseAttribute.MoveSpeed = heroCfg.iBaseSpeed;
			actorData.TheBaseAttribute.SoulExpGained = 0;
			actorData.TheBaseAttribute.GoldCoinInBattleGained = 0;
			actorData.TheBaseAttribute.GoldCoinInBattleGainedFloatRange = 0;
			actorData.TheBaseAttribute.ClashMark = 0u;
			actorData.TheBaseAttribute.RandomPassiveSkillRule = 0;
			actorData.TheBaseAttribute.PassiveSkillID1 = heroCfg.iPassiveID1;
			actorData.TheBaseAttribute.PassiveSkillID2 = heroCfg.iPassiveID2;
			actorData.TheBaseAttribute.DeadControl = (heroCfg.dwDeadControl == 1u);
			actorData.TheHeroOnlyInfo.HeroCapability = (int)heroCfg.bMainJob;
			actorData.TheHeroOnlyInfo.HeroDamageType = (int)heroCfg.bDamageType;
			actorData.TheHeroOnlyInfo.HeroAttackType = (int)heroCfg.bAttackType;
			actorData.TheHeroOnlyInfo.InitialStar = heroCfg.iInitialStar;
			actorData.TheHeroOnlyInfo.RecommendStandPos = heroCfg.iRecommendPosition;
			actorData.TheHeroOnlyInfo.AttackDistanceType = (int)heroCfg.bAttackDistanceType;
			actorData.TheHeroOnlyInfo.HeroNamePinYin = heroCfg.szNamePinYin;
			actorData.TheResInfo.Name = StringHelper.UTF8BytesToString(ref heroCfg.szName);
			actorData.TheResInfo.ResPath = StringHelper.UTF8BytesToString(ref heroCfg.szCharacterInfo);
			actorData.ProviderType = GameActorDataProviderType.StaticLobbyDataProvider;
			return true;
		}
Exemple #11
0
        protected override bool BuildOrganData(ref ActorMeta actorMeta, ref ActorStaticData actorData)
        {
            ResOrganCfgInfo dataCfgInfoByCurLevelDiff = OrganDataHelper.GetDataCfgInfoByCurLevelDiff(actorData.TheActorMeta.ConfigId);

            if (dataCfgInfoByCurLevelDiff == null)
            {
                base.ErrorMissingOrganConfig((uint)actorData.TheActorMeta.ConfigId);
                return(false);
            }
            actorData.TheBaseAttribute.EpType                           = 1;
            actorData.TheBaseAttribute.BaseHp                           = dataCfgInfoByCurLevelDiff.iBaseHP;
            actorData.TheBaseAttribute.PerLvHp                          = dataCfgInfoByCurLevelDiff.iHPLvlup;
            actorData.TheBaseAttribute.BaseAd                           = dataCfgInfoByCurLevelDiff.iBaseATT;
            actorData.TheBaseAttribute.PerLvAd                          = dataCfgInfoByCurLevelDiff.iATTLvlup;
            actorData.TheBaseAttribute.BaseAp                           = dataCfgInfoByCurLevelDiff.iBaseINT;
            actorData.TheBaseAttribute.PerLvAp                          = dataCfgInfoByCurLevelDiff.iINTLvlup;
            actorData.TheBaseAttribute.BaseAtkSpeed                     = 0;
            actorData.TheBaseAttribute.PerLvAtkSpeed                    = dataCfgInfoByCurLevelDiff.iAtkSpdAddLvlup;
            actorData.TheBaseAttribute.BaseDef                          = dataCfgInfoByCurLevelDiff.iBaseDEF;
            actorData.TheBaseAttribute.PerLvDef                         = dataCfgInfoByCurLevelDiff.iDEFLvlup;
            actorData.TheBaseAttribute.BaseRes                          = dataCfgInfoByCurLevelDiff.iBaseRES;
            actorData.TheBaseAttribute.PerLvRes                         = dataCfgInfoByCurLevelDiff.iRESLvlup;
            actorData.TheBaseAttribute.BaseHpRecover                    = dataCfgInfoByCurLevelDiff.iBaseHPAdd;
            actorData.TheBaseAttribute.PerLvHpRecover                   = dataCfgInfoByCurLevelDiff.iHPAddLvlup;
            actorData.TheBaseAttribute.CriticalChance                   = 0;
            actorData.TheBaseAttribute.CriticalDamage                   = 0;
            actorData.TheBaseAttribute.Sight                            = dataCfgInfoByCurLevelDiff.iSightR;
            actorData.TheBaseAttribute.MoveSpeed                        = dataCfgInfoByCurLevelDiff.iBaseSpeed;
            actorData.TheBaseAttribute.SoulExpGained                    = dataCfgInfoByCurLevelDiff.iSoulExp;
            actorData.TheBaseAttribute.GoldCoinInBattleGained           = dataCfgInfoByCurLevelDiff.wGoldCoinInBattle;
            actorData.TheBaseAttribute.GoldCoinInBattleGainedFloatRange = 0;
            actorData.TheBaseAttribute.DynamicProperty                  = dataCfgInfoByCurLevelDiff.dwDynamicPropertyCfg;
            actorData.TheBaseAttribute.ClashMark                        = dataCfgInfoByCurLevelDiff.dwClashMark;
            actorData.TheResInfo.Name    = StringHelper.UTF8BytesToString(ref dataCfgInfoByCurLevelDiff.szName);
            actorData.TheResInfo.ResPath = StringHelper.UTF8BytesToString(ref dataCfgInfoByCurLevelDiff.szCharacterInfo);
            actorData.TheOrganOnlyInfo.PhyArmorHurtRate = dataCfgInfoByCurLevelDiff.iPhyArmorHurtRate;
            actorData.TheOrganOnlyInfo.AttackRouteID    = dataCfgInfoByCurLevelDiff.iAktRouteID;
            actorData.TheOrganOnlyInfo.DeadEnemySoldier = dataCfgInfoByCurLevelDiff.iDeadEnemySoldier;
            actorData.TheOrganOnlyInfo.NoEnemyAddPhyDef = dataCfgInfoByCurLevelDiff.iNoEnemyAddPhyDef;
            actorData.TheOrganOnlyInfo.NoEnemyAddMgcDef = dataCfgInfoByCurLevelDiff.iNoEnemyAddMgcDef;
            actorData.TheOrganOnlyInfo.HorizonRadius    = dataCfgInfoByCurLevelDiff.iHorizonRadius;
            actorData.ProviderType = GameActorDataProviderType.StaticLobbyDataProvider;
            return(true);
        }
        protected override bool BuildMonsterData(ref ActorMeta actorMeta, ref ActorStaticData actorData)
        {
            ResMonsterCfgInfo dataCfgInfo = MonsterDataHelper.GetDataCfgInfo(actorData.TheActorMeta.ConfigId, (int)actorData.TheActorMeta.Difficuty);

            if (dataCfgInfo == null)
            {
                dataCfgInfo = MonsterDataHelper.GetDataCfgInfo(actorData.TheActorMeta.ConfigId, 1);
            }
            if (dataCfgInfo == null)
            {
                base.ErrorMissingMonsterConfig((uint)actorData.TheActorMeta.ConfigId);
                return(false);
            }
            actorData.TheBaseAttribute.EpType                           = 1u;
            actorData.TheBaseAttribute.BaseHp                           = dataCfgInfo.iBaseHP;
            actorData.TheBaseAttribute.PerLvHp                          = 0;
            actorData.TheBaseAttribute.BaseAd                           = dataCfgInfo.iBaseATT;
            actorData.TheBaseAttribute.PerLvAd                          = 0;
            actorData.TheBaseAttribute.BaseAp                           = dataCfgInfo.iBaseINT;
            actorData.TheBaseAttribute.PerLvAp                          = 0;
            actorData.TheBaseAttribute.BaseAtkSpeed                     = 0;
            actorData.TheBaseAttribute.PerLvAtkSpeed                    = 0;
            actorData.TheBaseAttribute.BaseDef                          = dataCfgInfo.iBaseDEF;
            actorData.TheBaseAttribute.PerLvDef                         = 0;
            actorData.TheBaseAttribute.BaseRes                          = dataCfgInfo.iBaseRES;
            actorData.TheBaseAttribute.PerLvRes                         = 0;
            actorData.TheBaseAttribute.BaseHpRecover                    = dataCfgInfo.iBaseHPAdd;
            actorData.TheBaseAttribute.PerLvHpRecover                   = 0;
            actorData.TheBaseAttribute.CriticalChance                   = 0;
            actorData.TheBaseAttribute.CriticalDamage                   = 0;
            actorData.TheBaseAttribute.Sight                            = dataCfgInfo.iSightR;
            actorData.TheBaseAttribute.MoveSpeed                        = dataCfgInfo.iBaseSpeed;
            actorData.TheBaseAttribute.SoulExpGained                    = dataCfgInfo.iSoulExp;
            actorData.TheBaseAttribute.GoldCoinInBattleGained           = (int)dataCfgInfo.wStartingGoldCoinInBattle;
            actorData.TheBaseAttribute.GoldCoinInBattleGainedFloatRange = (int)dataCfgInfo.bGoldCoinInBattleRange;
            actorData.TheBaseAttribute.DynamicProperty                  = dataCfgInfo.dwDynamicPropertyCfg;
            actorData.TheBaseAttribute.ClashMark                        = dataCfgInfo.dwClashMark;
            actorData.TheResInfo.Name    = StringHelper.UTF8BytesToString(ref dataCfgInfo.szName);
            actorData.TheResInfo.ResPath = StringHelper.UTF8BytesToString(ref dataCfgInfo.szCharacterInfo);
            actorData.ProviderType       = GameActorDataProviderType.StaticLobbyDataProvider;
            return(true);
        }
Exemple #13
0
 protected virtual bool BuildOrganData(ref ActorMeta actorMeta, ref ActorStaticData actorData)
 {
     return(false);
 }
 public virtual bool GetActorStaticData(ref ActorMeta actorMeta, ref ActorStaticData actorData)
 {
     return(false);
 }