public void AssignAllAttrs(BattleBaseInfo origin)
 {
     this.MoveSpeed                  = origin.publicBaseInfo.simpleInfo.MoveSpeed;
     this.ActSpeed                   = origin.publicBaseInfo.simpleInfo.AtkSpeed;
     this.Lv                         = origin.publicBaseInfo.simpleInfo.Lv;
     this.Fighting                   = origin.publicBaseInfo.simpleInfo.Fighting;
     this.VipLv                      = origin.publicBaseInfo.simpleInfo.VipLv;
     this.Atk                        = origin.publicBaseInfo.Atk;
     this.Defence                    = origin.publicBaseInfo.Defence;
     this.HpLmt                      = origin.publicBaseInfo.HpLmt;
     this.PveAtk                     = origin.publicBaseInfo.PveAtk;
     this.PvpAtk                     = origin.publicBaseInfo.PvpAtk;
     this.HitRatio                   = origin.publicBaseInfo.HitRatio;
     this.DodgeRatio                 = origin.publicBaseInfo.DodgeRatio;
     this.CritRatio                  = origin.publicBaseInfo.CritRatio;
     this.DecritRatio                = origin.publicBaseInfo.DecritRatio;
     this.CritHurtAddRatio           = origin.publicBaseInfo.CritHurtAddRatio;
     this.ParryRatio                 = origin.publicBaseInfo.ParryRatio;
     this.DeparryRatio               = origin.publicBaseInfo.DeparryRatio;
     this.ParryHurtDeRatio           = origin.publicBaseInfo.ParryHurtDeRatio;
     this.SuckBloodScale             = origin.publicBaseInfo.SuckBloodScale;
     this.HurtAddRatio               = origin.publicBaseInfo.HurtAddRatio;
     this.HurtDeRatio                = origin.publicBaseInfo.HurtDeRatio;
     this.PveHurtAddRatio            = origin.publicBaseInfo.PveHurtAddRatio;
     this.PveHurtDeRatio             = origin.publicBaseInfo.PveHurtDeRatio;
     this.PvpHurtAddRatio            = origin.publicBaseInfo.PvpHurtAddRatio;
     this.PvpHurtDeRatio             = origin.publicBaseInfo.PvpHurtDeRatio;
     this.AtkMulAmend                = origin.publicBaseInfo.AtkMulAmend;
     this.DefMulAmend                = origin.publicBaseInfo.DefMulAmend;
     this.HpLmtMulAmend              = origin.publicBaseInfo.HpLmtMulAmend;
     this.PveAtkMulAmend             = origin.publicBaseInfo.PveAtkMulAmend;
     this.PvpAtkMulAmend             = origin.publicBaseInfo.PvpAtkMulAmend;
     this.ActPointLmt                = origin.battleBaseAttr.ActPointLmt;
     this.ActPointRecoverSpeedAmend  = origin.publicBaseInfo.ActPointRecoverSpeedAmend;
     this.VpLmt                      = origin.publicBaseInfo.VpLmt;
     this.VpLmtMulAmend              = origin.publicBaseInfo.VpLmtMulAmend;
     this.VpAtk                      = origin.publicBaseInfo.VpAtk;
     this.VpAtkMulAmend              = origin.publicBaseInfo.VpAtkMulAmend;
     this.IdleVpResume               = origin.publicBaseInfo.IdleVpResume;
     this.VpResume                   = origin.publicBaseInfo.VpResume;
     this.WaterBuffAddProbAddAmend   = origin.publicBaseInfo.WaterBuffAddProbAddAmend;
     this.WaterBuffDurTimeAddAmend   = origin.publicBaseInfo.WaterBuffDurTimeAddAmend;
     this.ThunderBuffAddProbAddAmend = origin.publicBaseInfo.ThunderBuffAddProbAddAmend;
     this.ThunderBuffDurTimeAddAmend = origin.publicBaseInfo.ThunderBuffDurTimeAddAmend;
     this.HealIncreasePercent        = origin.publicBaseInfo.HealIncreasePercent;
     this.CritAddValue               = origin.publicBaseInfo.CritAddValue;
     this.HpRestore                  = origin.publicBaseInfo.HpRestore;
     this.BuffMoveSpeedMulPosAmend   = origin.battleBaseAttr.BuffMoveSpeedMulPosAmend;
     this.BuffActSpeedMulPosAmend    = origin.battleBaseAttr.BuffActSpeedMulPosAmend;
     this.SkillTreatScaleBOAtk       = origin.battleBaseAttr.SkillTreatScaleBOAtk;
     this.SkillTreatScaleBOHpLmt     = origin.battleBaseAttr.SkillTreatScaleBOHpLmt;
     this.SkillNmlDmgScale           = origin.battleBaseAttr.SkillNmlDmgScale;
     this.SkillNmlDmgAddAmend        = origin.battleBaseAttr.SkillNmlDmgAddAmend;
     this.SkillHolyDmgScaleBOMaxHp   = origin.battleBaseAttr.SkillHolyDmgScaleBOMaxHp;
     this.SkillHolyDmgScaleBOCurHp   = origin.battleBaseAttr.SkillHolyDmgScaleBOCurHp;
     this.Affinity                   = origin.battleBaseAttr.Affinity;
     this.OnlineTime                 = origin.battleBaseAttr.OnlineTime;
 }
Ejemplo n.º 2
0
    protected static BattleBaseInfo CreateSelfBattleBaseInfo(int instanceType, FuBenJiChuPeiZhi instanceData, List <PetInfo> trialPetInfos = null, List <BattleSkillInfo> trialSkillInfos = null)
    {
        BattleBaseInfo battleBaseInfo = new BattleBaseInfo();

        battleBaseInfo.publicBaseInfo            = new PublicBaseInfo();
        battleBaseInfo.publicBaseInfo.simpleInfo = new SimpleBaseInfo();
        battleBaseInfo.battleBaseAttr            = new BattleBaseAttr();
        battleBaseInfo.wrapType = GameObjectType.ENUM.Role;
        battleBaseInfo.camp     = 1;
        battleBaseInfo.publicBaseInfo.simpleInfo.MoveSpeed = EntityWorld.Instance.EntSelf.CityBaseAttrs.MoveSpeed;
        battleBaseInfo.publicBaseInfo.simpleInfo.AtkSpeed  = EntityWorld.Instance.EntSelf.CityBaseAttrs.ActSpeed;
        battleBaseInfo.publicBaseInfo.simpleInfo.Lv        = EntityWorld.Instance.EntSelf.CityBaseAttrs.Lv;
        battleBaseInfo.publicBaseInfo.simpleInfo.Fighting  = EntityWorld.Instance.EntSelf.CityBaseAttrs.Fighting;
        battleBaseInfo.publicBaseInfo.simpleInfo.VipLv     = EntityWorld.Instance.EntSelf.CityBaseAttrs.VipLv;
        battleBaseInfo.publicBaseInfo.Atk                        = EntityWorld.Instance.EntSelf.CityBaseAttrs.Atk;
        battleBaseInfo.publicBaseInfo.Defence                    = EntityWorld.Instance.EntSelf.CityBaseAttrs.Defence;
        battleBaseInfo.publicBaseInfo.HpLmt                      = EntityWorld.Instance.EntSelf.CityBaseAttrs.HpLmt;
        battleBaseInfo.publicBaseInfo.PveAtk                     = EntityWorld.Instance.EntSelf.CityBaseAttrs.PveAtk;
        battleBaseInfo.publicBaseInfo.PvpAtk                     = EntityWorld.Instance.EntSelf.CityBaseAttrs.PvpAtk;
        battleBaseInfo.publicBaseInfo.HitRatio                   = EntityWorld.Instance.EntSelf.CityBaseAttrs.HitRatio;
        battleBaseInfo.publicBaseInfo.DodgeRatio                 = EntityWorld.Instance.EntSelf.CityBaseAttrs.DodgeRatio;
        battleBaseInfo.publicBaseInfo.CritRatio                  = EntityWorld.Instance.EntSelf.CityBaseAttrs.CritRatio;
        battleBaseInfo.publicBaseInfo.DecritRatio                = EntityWorld.Instance.EntSelf.CityBaseAttrs.DecritRatio;
        battleBaseInfo.publicBaseInfo.CritHurtAddRatio           = EntityWorld.Instance.EntSelf.CityBaseAttrs.CritHurtAddRatio;
        battleBaseInfo.publicBaseInfo.ParryRatio                 = EntityWorld.Instance.EntSelf.CityBaseAttrs.ParryRatio;
        battleBaseInfo.publicBaseInfo.DeparryRatio               = EntityWorld.Instance.EntSelf.CityBaseAttrs.DeparryRatio;
        battleBaseInfo.publicBaseInfo.ParryHurtDeRatio           = EntityWorld.Instance.EntSelf.CityBaseAttrs.ParryHurtDeRatio;
        battleBaseInfo.publicBaseInfo.SuckBloodScale             = EntityWorld.Instance.EntSelf.CityBaseAttrs.SuckBloodScale;
        battleBaseInfo.publicBaseInfo.HurtAddRatio               = EntityWorld.Instance.EntSelf.CityBaseAttrs.HurtAddRatio;
        battleBaseInfo.publicBaseInfo.HurtDeRatio                = EntityWorld.Instance.EntSelf.CityBaseAttrs.HurtDeRatio;
        battleBaseInfo.publicBaseInfo.PveHurtAddRatio            = EntityWorld.Instance.EntSelf.CityBaseAttrs.PveHurtAddRatio;
        battleBaseInfo.publicBaseInfo.PveHurtDeRatio             = EntityWorld.Instance.EntSelf.CityBaseAttrs.PveHurtDeRatio;
        battleBaseInfo.publicBaseInfo.PvpHurtAddRatio            = EntityWorld.Instance.EntSelf.CityBaseAttrs.PvpHurtAddRatio;
        battleBaseInfo.publicBaseInfo.PvpHurtDeRatio             = EntityWorld.Instance.EntSelf.CityBaseAttrs.PvpHurtDeRatio;
        battleBaseInfo.publicBaseInfo.AtkMulAmend                = EntityWorld.Instance.EntSelf.CityBaseAttrs.AtkMulAmend;
        battleBaseInfo.publicBaseInfo.DefMulAmend                = EntityWorld.Instance.EntSelf.CityBaseAttrs.DefMulAmend;
        battleBaseInfo.publicBaseInfo.HpLmtMulAmend              = EntityWorld.Instance.EntSelf.CityBaseAttrs.HpLmtMulAmend;
        battleBaseInfo.publicBaseInfo.PveAtkMulAmend             = EntityWorld.Instance.EntSelf.CityBaseAttrs.PveAtkMulAmend;
        battleBaseInfo.publicBaseInfo.PvpAtkMulAmend             = EntityWorld.Instance.EntSelf.CityBaseAttrs.PvpAtkMulAmend;
        battleBaseInfo.battleBaseAttr.ActPointLmt                = (int)float.Parse(DataReader <GlobalParams> .Get("actionpoint_limit_i").value);
        battleBaseInfo.publicBaseInfo.ActPointRecoverSpeedAmend  = EntityWorld.Instance.EntSelf.CityBaseAttrs.ActPointRecoverSpeedAmend;
        battleBaseInfo.publicBaseInfo.VpLmt                      = EntityWorld.Instance.EntSelf.CityBaseAttrs.VpLmt;
        battleBaseInfo.publicBaseInfo.VpLmtMulAmend              = EntityWorld.Instance.EntSelf.CityBaseAttrs.VpLmtMulAmend;
        battleBaseInfo.publicBaseInfo.VpAtk                      = EntityWorld.Instance.EntSelf.CityBaseAttrs.VpAtk;
        battleBaseInfo.publicBaseInfo.VpAtkMulAmend              = EntityWorld.Instance.EntSelf.CityBaseAttrs.VpAtkMulAmend;
        battleBaseInfo.publicBaseInfo.VpResume                   = EntityWorld.Instance.EntSelf.CityBaseAttrs.VpResume;
        battleBaseInfo.publicBaseInfo.IdleVpResume               = EntityWorld.Instance.EntSelf.CityBaseAttrs.IdleVpResume;
        battleBaseInfo.publicBaseInfo.WaterBuffAddProbAddAmend   = EntityWorld.Instance.EntSelf.CityBaseAttrs.WaterBuffAddProbAddAmend;
        battleBaseInfo.publicBaseInfo.WaterBuffDurTimeAddAmend   = EntityWorld.Instance.EntSelf.CityBaseAttrs.WaterBuffDurTimeAddAmend;
        battleBaseInfo.publicBaseInfo.ThunderBuffAddProbAddAmend = EntityWorld.Instance.EntSelf.CityBaseAttrs.ThunderBuffAddProbAddAmend;
        battleBaseInfo.publicBaseInfo.ThunderBuffDurTimeAddAmend = EntityWorld.Instance.EntSelf.CityBaseAttrs.ThunderBuffDurTimeAddAmend;
        battleBaseInfo.publicBaseInfo.HealIncreasePercent        = EntityWorld.Instance.EntSelf.CityBaseAttrs.HealIncreasePercent;
        battleBaseInfo.publicBaseInfo.CritAddValue               = EntityWorld.Instance.EntSelf.CityBaseAttrs.CritAddValue;
        battleBaseInfo.publicBaseInfo.HpRestore                  = EntityWorld.Instance.EntSelf.CityBaseAttrs.HpRestore;
        battleBaseInfo.battleBaseAttr.BuffMoveSpeedMulPosAmend   = 0;
        battleBaseInfo.battleBaseAttr.BuffActSpeedMulPosAmend    = 0;
        battleBaseInfo.battleBaseAttr.SkillTreatScaleBOAtk       = 0;
        battleBaseInfo.battleBaseAttr.SkillTreatScaleBOHpLmt     = 0;
        battleBaseInfo.battleBaseAttr.SkillNmlDmgScale           = 0;
        battleBaseInfo.battleBaseAttr.SkillNmlDmgAddAmend        = 0;
        battleBaseInfo.battleBaseAttr.SkillHolyDmgScaleBOMaxHp   = 0;
        battleBaseInfo.battleBaseAttr.SkillHolyDmgScaleBOCurHp   = 0;
        battleBaseInfo.battleBaseAttr.Affinity                   = 0;
        battleBaseInfo.battleBaseAttr.OnlineTime                 = 0;
        int num = instanceData.actionPoint + SkillDataManager.Instance.GetSkillProInitActPoint() + EntityWorld.Instance.EntSelf.TotalBeginActPoint;

        battleBaseInfo.battleBaseAttr.ActPoint = ((num <= battleBaseInfo.battleBaseAttr.ActPointLmt) ? num : battleBaseInfo.battleBaseAttr.ActPointLmt);
        battleBaseInfo.battleBaseAttr.Hp       = (long)((double)battleBaseInfo.publicBaseInfo.HpLmt * (1.0 + (double)battleBaseInfo.publicBaseInfo.HpLmtMulAmend * 0.001));
        battleBaseInfo.battleBaseAttr.Vp       = (int)((double)battleBaseInfo.publicBaseInfo.VpLmt * (1.0 + (double)battleBaseInfo.publicBaseInfo.VpLmtMulAmend * 0.001));
        battleBaseInfo.ownedListIdx            = 0;
        List <PetInfo> list;

        if (trialPetInfos == null)
        {
            list = PetManager.Instance.GetPetBattleInfo(instanceType);
        }
        else
        {
            list = trialPetInfos;
        }
        int num2 = 0;

        for (int i = 0; i < list.get_Count(); i++)
        {
            if (DataReader <Pet> .Get(list.get_Item(i).petId) != null)
            {
                battleBaseInfo.ownedIds.Add(list.get_Item(i).id);
                BattleSkillInfo summonSkillInfo = PetManager.Instance.GetSummonSkillInfo(list.get_Item(i), num2);
                if (summonSkillInfo != null)
                {
                    battleBaseInfo.skills.Add(summonSkillInfo);
                }
                num2++;
            }
        }
        battleBaseInfo.finalOwnerId = 0L;
        for (int j = 0; j < instanceData.beginSkill.get_Count(); j++)
        {
            battleBaseInfo.skills.Add(new BattleSkillInfo
            {
                skillId  = instanceData.beginSkill.get_Item(j),
                skillIdx = 0,
                skillLv  = 1
            });
        }
        SkillDataManager.Instance.ConstructBattleSkillInfo(battleBaseInfo.skills, trialSkillInfos, battleBaseInfo.skillExs);
        battleBaseInfo.isFit              = false;
        battleBaseInfo.isInFit            = false;
        battleBaseInfo.isFighting         = true;
        battleBaseInfo.isFixed            = false;
        battleBaseInfo.isStatic           = false;
        battleBaseInfo.isTaunt            = false;
        battleBaseInfo.isSuperArmor       = false;
        battleBaseInfo.isIgnoreDmgFormula = false;
        battleBaseInfo.isCloseRenderer    = false;
        battleBaseInfo.isMoveCast         = false;
        battleBaseInfo.isKnocking         = false;
        battleBaseInfo.isSuspended        = false;
        battleBaseInfo.isStun             = false;
        battleBaseInfo.isBoss             = false;
        return(battleBaseInfo);
    }
Ejemplo n.º 3
0
    public static MapObjInfo CreateSelfCopyMapObjInfo(int poolID, int sceneID, int pointGroupID, BattleBaseInfo battleInfo)
    {
        MapObjInfo mapObjInfo = new MapObjInfo();

        mapObjInfo.objType   = GameObjectType.ENUM.Role;
        mapObjInfo.id        = (long)poolID;
        mapObjInfo.ownerId   = EntityWorld.Instance.EntSelf.OwnerID;
        mapObjInfo.typeId    = EntityWorld.Instance.EntSelf.TypeID;
        mapObjInfo.modelId   = EntityWorld.Instance.EntSelf.ModelID;
        mapObjInfo.name      = EntityWorld.Instance.EntSelf.Name;
        mapObjInfo.rankValue = EntityWorld.Instance.EntSelf.TypeRank;
        Vector2 point = MapDataManager.Instance.GetPoint(sceneID, pointGroupID);

        string[] array = DataReader <Scene> .Get(sceneID).LockLookPoint.Split(new char[]
        {
            ';'
        });

        float   num    = float.Parse(array[0]);
        float   num2   = float.Parse(array[1]);
        Vector2 vector = new Vector2(num, num2);

        mapObjInfo.pos        = new Pos();
        mapObjInfo.pos.x      = point.x;
        mapObjInfo.pos.y      = point.y;
        mapObjInfo.vector     = new Vector2();
        mapObjInfo.vector.x   = (vector - point).get_normalized().x;
        mapObjInfo.vector.y   = (vector - point).get_normalized().y;
        mapObjInfo.mapLayer   = 0;
        mapObjInfo.battleInfo = battleInfo;
        return(mapObjInfo);
    }
Ejemplo n.º 4
0
    public static BattleBaseInfo CreateSelfCopyBattleInfo(bool isSameCamp, List <PetInfo> petOriginInfos, float instanceActionPoint)
    {
        BattleBaseInfo battleBaseInfo = new BattleBaseInfo();

        battleBaseInfo.publicBaseInfo            = new PublicBaseInfo();
        battleBaseInfo.publicBaseInfo.simpleInfo = new SimpleBaseInfo();
        battleBaseInfo.battleBaseAttr            = new BattleBaseAttr();
        battleBaseInfo.wrapType = GameObjectType.ENUM.Pet;
        battleBaseInfo.camp     = ((!isSameCamp) ? ((EntityWorld.Instance.EntSelf.Camp != 1) ? 1 : 2) : EntityWorld.Instance.EntSelf.Camp);
        battleBaseInfo.publicBaseInfo.simpleInfo.MoveSpeed = EntityWorld.Instance.EntSelf.CityBaseAttrs.MoveSpeed;
        battleBaseInfo.publicBaseInfo.simpleInfo.AtkSpeed  = EntityWorld.Instance.EntSelf.CityBaseAttrs.ActSpeed;
        battleBaseInfo.publicBaseInfo.simpleInfo.Lv        = EntityWorld.Instance.EntSelf.CityBaseAttrs.Lv;
        battleBaseInfo.publicBaseInfo.simpleInfo.Fighting  = EntityWorld.Instance.EntSelf.CityBaseAttrs.Fighting;
        battleBaseInfo.publicBaseInfo.simpleInfo.VipLv     = EntityWorld.Instance.EntSelf.CityBaseAttrs.VipLv;
        battleBaseInfo.publicBaseInfo.Atk                        = EntityWorld.Instance.EntSelf.CityBaseAttrs.Atk;
        battleBaseInfo.publicBaseInfo.Defence                    = EntityWorld.Instance.EntSelf.CityBaseAttrs.Defence;
        battleBaseInfo.publicBaseInfo.HpLmt                      = EntityWorld.Instance.EntSelf.CityBaseAttrs.HpLmt;
        battleBaseInfo.publicBaseInfo.PveAtk                     = EntityWorld.Instance.EntSelf.CityBaseAttrs.PveAtk;
        battleBaseInfo.publicBaseInfo.PvpAtk                     = EntityWorld.Instance.EntSelf.CityBaseAttrs.PvpAtk;
        battleBaseInfo.publicBaseInfo.HitRatio                   = EntityWorld.Instance.EntSelf.CityBaseAttrs.HitRatio;
        battleBaseInfo.publicBaseInfo.DodgeRatio                 = EntityWorld.Instance.EntSelf.CityBaseAttrs.DodgeRatio;
        battleBaseInfo.publicBaseInfo.CritRatio                  = EntityWorld.Instance.EntSelf.CityBaseAttrs.CritRatio;
        battleBaseInfo.publicBaseInfo.DecritRatio                = EntityWorld.Instance.EntSelf.CityBaseAttrs.DecritRatio;
        battleBaseInfo.publicBaseInfo.CritHurtAddRatio           = EntityWorld.Instance.EntSelf.CityBaseAttrs.CritHurtAddRatio;
        battleBaseInfo.publicBaseInfo.ParryRatio                 = EntityWorld.Instance.EntSelf.CityBaseAttrs.ParryRatio;
        battleBaseInfo.publicBaseInfo.DeparryRatio               = EntityWorld.Instance.EntSelf.CityBaseAttrs.DeparryRatio;
        battleBaseInfo.publicBaseInfo.ParryHurtDeRatio           = EntityWorld.Instance.EntSelf.CityBaseAttrs.ParryHurtDeRatio;
        battleBaseInfo.publicBaseInfo.SuckBloodScale             = EntityWorld.Instance.EntSelf.CityBaseAttrs.SuckBloodScale;
        battleBaseInfo.publicBaseInfo.HurtAddRatio               = EntityWorld.Instance.EntSelf.CityBaseAttrs.HurtAddRatio;
        battleBaseInfo.publicBaseInfo.HurtDeRatio                = EntityWorld.Instance.EntSelf.CityBaseAttrs.HurtDeRatio;
        battleBaseInfo.publicBaseInfo.PveHurtAddRatio            = EntityWorld.Instance.EntSelf.CityBaseAttrs.PveHurtAddRatio;
        battleBaseInfo.publicBaseInfo.PveHurtDeRatio             = EntityWorld.Instance.EntSelf.CityBaseAttrs.PveHurtDeRatio;
        battleBaseInfo.publicBaseInfo.PvpHurtAddRatio            = EntityWorld.Instance.EntSelf.CityBaseAttrs.PvpHurtAddRatio;
        battleBaseInfo.publicBaseInfo.PvpHurtDeRatio             = EntityWorld.Instance.EntSelf.CityBaseAttrs.PvpHurtDeRatio;
        battleBaseInfo.publicBaseInfo.AtkMulAmend                = EntityWorld.Instance.EntSelf.CityBaseAttrs.AtkMulAmend;
        battleBaseInfo.publicBaseInfo.DefMulAmend                = EntityWorld.Instance.EntSelf.CityBaseAttrs.DefMulAmend;
        battleBaseInfo.publicBaseInfo.HpLmtMulAmend              = EntityWorld.Instance.EntSelf.CityBaseAttrs.HpLmtMulAmend;
        battleBaseInfo.publicBaseInfo.PveAtkMulAmend             = EntityWorld.Instance.EntSelf.CityBaseAttrs.PveAtkMulAmend;
        battleBaseInfo.publicBaseInfo.PvpAtkMulAmend             = EntityWorld.Instance.EntSelf.CityBaseAttrs.PvpAtkMulAmend;
        battleBaseInfo.battleBaseAttr.ActPointLmt                = (int)float.Parse(DataReader <GlobalParams> .Get("actionpoint_limit_i").value);
        battleBaseInfo.publicBaseInfo.ActPointRecoverSpeedAmend  = EntityWorld.Instance.EntSelf.CityBaseAttrs.ActPointRecoverSpeedAmend;
        battleBaseInfo.publicBaseInfo.VpLmt                      = EntityWorld.Instance.EntSelf.CityBaseAttrs.VpLmt;
        battleBaseInfo.publicBaseInfo.VpLmtMulAmend              = EntityWorld.Instance.EntSelf.CityBaseAttrs.VpLmtMulAmend;
        battleBaseInfo.publicBaseInfo.VpAtk                      = EntityWorld.Instance.EntSelf.CityBaseAttrs.VpAtk;
        battleBaseInfo.publicBaseInfo.VpAtkMulAmend              = EntityWorld.Instance.EntSelf.CityBaseAttrs.VpAtkMulAmend;
        battleBaseInfo.publicBaseInfo.VpResume                   = EntityWorld.Instance.EntSelf.CityBaseAttrs.VpResume;
        battleBaseInfo.publicBaseInfo.IdleVpResume               = EntityWorld.Instance.EntSelf.CityBaseAttrs.IdleVpResume;
        battleBaseInfo.publicBaseInfo.WaterBuffAddProbAddAmend   = EntityWorld.Instance.EntSelf.CityBaseAttrs.WaterBuffAddProbAddAmend;
        battleBaseInfo.publicBaseInfo.WaterBuffDurTimeAddAmend   = EntityWorld.Instance.EntSelf.CityBaseAttrs.WaterBuffDurTimeAddAmend;
        battleBaseInfo.publicBaseInfo.ThunderBuffAddProbAddAmend = EntityWorld.Instance.EntSelf.CityBaseAttrs.ThunderBuffAddProbAddAmend;
        battleBaseInfo.publicBaseInfo.ThunderBuffDurTimeAddAmend = EntityWorld.Instance.EntSelf.CityBaseAttrs.ThunderBuffDurTimeAddAmend;
        battleBaseInfo.publicBaseInfo.HealIncreasePercent        = EntityWorld.Instance.EntSelf.CityBaseAttrs.HealIncreasePercent;
        battleBaseInfo.publicBaseInfo.CritAddValue               = EntityWorld.Instance.EntSelf.CityBaseAttrs.CritAddValue;
        battleBaseInfo.publicBaseInfo.HpRestore                  = EntityWorld.Instance.EntSelf.CityBaseAttrs.HpRestore;
        battleBaseInfo.battleBaseAttr.BuffMoveSpeedMulPosAmend   = 0;
        battleBaseInfo.battleBaseAttr.BuffActSpeedMulPosAmend    = 0;
        battleBaseInfo.battleBaseAttr.SkillTreatScaleBOAtk       = 0;
        battleBaseInfo.battleBaseAttr.SkillTreatScaleBOHpLmt     = 0;
        battleBaseInfo.battleBaseAttr.SkillNmlDmgScale           = 0;
        battleBaseInfo.battleBaseAttr.SkillNmlDmgAddAmend        = 0;
        battleBaseInfo.battleBaseAttr.SkillHolyDmgScaleBOMaxHp   = 0;
        battleBaseInfo.battleBaseAttr.SkillHolyDmgScaleBOCurHp   = 0;
        battleBaseInfo.battleBaseAttr.Affinity                   = 0;
        battleBaseInfo.battleBaseAttr.OnlineTime                 = 0;
        battleBaseInfo.battleBaseAttr.ActPoint                   = (int)(instanceActionPoint + (float)SkillDataManager.Instance.GetSkillProInitActPoint() + (float)EntityWorld.Instance.EntSelf.TotalBeginActPoint);
        battleBaseInfo.battleBaseAttr.Hp = (long)((double)battleBaseInfo.publicBaseInfo.HpLmt * (1.0 + (double)battleBaseInfo.publicBaseInfo.HpLmtMulAmend * 0.001));
        battleBaseInfo.battleBaseAttr.Vp = (int)((double)battleBaseInfo.publicBaseInfo.VpLmt * (1.0 + (double)battleBaseInfo.publicBaseInfo.VpLmtMulAmend * 0.001));
        battleBaseInfo.ownedListIdx      = 0;
        int num = 0;

        if (petOriginInfos != null)
        {
            for (int i = 0; i < petOriginInfos.get_Count(); i++)
            {
                if (DataReader <Pet> .Get(petOriginInfos.get_Item(i).petId) != null)
                {
                    battleBaseInfo.ownedIds.Add(petOriginInfos.get_Item(i).id);
                    BattleSkillInfo summonSkillInfo = PetManager.Instance.GetSummonSkillInfo(petOriginInfos.get_Item(i), num);
                    if (summonSkillInfo != null)
                    {
                        battleBaseInfo.skills.Add(summonSkillInfo);
                    }
                    num++;
                }
            }
        }
        battleBaseInfo.finalOwnerId = 0L;
        SkillDataManager.Instance.ConstructBattleSkillInfo(battleBaseInfo.skills, null, battleBaseInfo.skillExs);
        battleBaseInfo.isFit              = false;
        battleBaseInfo.isInFit            = false;
        battleBaseInfo.isFighting         = true;
        battleBaseInfo.isFixed            = false;
        battleBaseInfo.isStatic           = false;
        battleBaseInfo.isTaunt            = false;
        battleBaseInfo.isSuperArmor       = false;
        battleBaseInfo.isIgnoreDmgFormula = false;
        battleBaseInfo.isCloseRenderer    = false;
        battleBaseInfo.isMoveCast         = false;
        battleBaseInfo.isKnocking         = false;
        battleBaseInfo.isSuspended        = false;
        battleBaseInfo.isStun             = false;
        battleBaseInfo.isBoss             = false;
        return(battleBaseInfo);
    }
    protected static BattleBaseInfo CreatePetBattleBaseInfo(PetInfo item, int index)
    {
        BattleBaseInfo battleBaseInfo = new BattleBaseInfo();

        battleBaseInfo.publicBaseInfo            = new PublicBaseInfo();
        battleBaseInfo.publicBaseInfo.simpleInfo = new SimpleBaseInfo();
        battleBaseInfo.battleBaseAttr            = new BattleBaseAttr();
        battleBaseInfo.wrapType = GameObjectType.ENUM.Pet;
        battleBaseInfo.camp     = 1;
        battleBaseInfo.publicBaseInfo.simpleInfo.MoveSpeed = item.publicBaseInfo.simpleInfo.MoveSpeed;
        battleBaseInfo.publicBaseInfo.simpleInfo.AtkSpeed  = item.publicBaseInfo.simpleInfo.AtkSpeed;
        battleBaseInfo.publicBaseInfo.simpleInfo.Lv        = item.publicBaseInfo.simpleInfo.Lv;
        battleBaseInfo.publicBaseInfo.simpleInfo.Fighting  = item.publicBaseInfo.simpleInfo.Fighting;
        battleBaseInfo.publicBaseInfo.simpleInfo.VipLv     = item.publicBaseInfo.simpleInfo.VipLv;
        battleBaseInfo.publicBaseInfo.Atk                        = item.publicBaseInfo.Atk;
        battleBaseInfo.publicBaseInfo.Defence                    = item.publicBaseInfo.Defence;
        battleBaseInfo.publicBaseInfo.HpLmt                      = item.publicBaseInfo.HpLmt;
        battleBaseInfo.publicBaseInfo.PveAtk                     = item.publicBaseInfo.PveAtk;
        battleBaseInfo.publicBaseInfo.PvpAtk                     = item.publicBaseInfo.PvpAtk;
        battleBaseInfo.publicBaseInfo.HitRatio                   = item.publicBaseInfo.HitRatio;
        battleBaseInfo.publicBaseInfo.DodgeRatio                 = item.publicBaseInfo.DodgeRatio;
        battleBaseInfo.publicBaseInfo.CritRatio                  = item.publicBaseInfo.CritRatio;
        battleBaseInfo.publicBaseInfo.DecritRatio                = item.publicBaseInfo.DecritRatio;
        battleBaseInfo.publicBaseInfo.CritHurtAddRatio           = item.publicBaseInfo.CritHurtAddRatio;
        battleBaseInfo.publicBaseInfo.ParryRatio                 = item.publicBaseInfo.ParryRatio;
        battleBaseInfo.publicBaseInfo.DeparryRatio               = item.publicBaseInfo.DeparryRatio;
        battleBaseInfo.publicBaseInfo.ParryHurtDeRatio           = item.publicBaseInfo.ParryHurtDeRatio;
        battleBaseInfo.publicBaseInfo.SuckBloodScale             = item.publicBaseInfo.SuckBloodScale;
        battleBaseInfo.publicBaseInfo.HurtAddRatio               = item.publicBaseInfo.HurtAddRatio;
        battleBaseInfo.publicBaseInfo.HurtDeRatio                = item.publicBaseInfo.HurtDeRatio;
        battleBaseInfo.publicBaseInfo.PveHurtAddRatio            = item.publicBaseInfo.PveHurtAddRatio;
        battleBaseInfo.publicBaseInfo.PveHurtDeRatio             = item.publicBaseInfo.PveHurtDeRatio;
        battleBaseInfo.publicBaseInfo.PvpHurtAddRatio            = item.publicBaseInfo.PvpHurtAddRatio;
        battleBaseInfo.publicBaseInfo.PvpHurtDeRatio             = item.publicBaseInfo.PvpHurtDeRatio;
        battleBaseInfo.publicBaseInfo.AtkMulAmend                = item.publicBaseInfo.AtkMulAmend;
        battleBaseInfo.publicBaseInfo.DefMulAmend                = item.publicBaseInfo.DefMulAmend;
        battleBaseInfo.publicBaseInfo.HpLmtMulAmend              = item.publicBaseInfo.HpLmtMulAmend;
        battleBaseInfo.publicBaseInfo.PveAtkMulAmend             = item.publicBaseInfo.PveAtkMulAmend;
        battleBaseInfo.publicBaseInfo.PvpAtkMulAmend             = item.publicBaseInfo.PvpAtkMulAmend;
        battleBaseInfo.battleBaseAttr.ActPointLmt                = item.actPointLmt;
        battleBaseInfo.publicBaseInfo.ActPointRecoverSpeedAmend  = item.publicBaseInfo.ActPointRecoverSpeedAmend;
        battleBaseInfo.publicBaseInfo.VpLmt                      = item.publicBaseInfo.VpLmt;
        battleBaseInfo.publicBaseInfo.VpLmtMulAmend              = item.publicBaseInfo.VpLmtMulAmend;
        battleBaseInfo.publicBaseInfo.VpAtk                      = item.publicBaseInfo.VpAtk;
        battleBaseInfo.publicBaseInfo.VpAtkMulAmend              = item.publicBaseInfo.VpAtkMulAmend;
        battleBaseInfo.publicBaseInfo.VpResume                   = item.publicBaseInfo.VpResume;
        battleBaseInfo.publicBaseInfo.IdleVpResume               = item.publicBaseInfo.IdleVpResume;
        battleBaseInfo.publicBaseInfo.WaterBuffAddProbAddAmend   = item.publicBaseInfo.WaterBuffAddProbAddAmend;
        battleBaseInfo.publicBaseInfo.WaterBuffDurTimeAddAmend   = item.publicBaseInfo.WaterBuffDurTimeAddAmend;
        battleBaseInfo.publicBaseInfo.ThunderBuffAddProbAddAmend = item.publicBaseInfo.ThunderBuffAddProbAddAmend;
        battleBaseInfo.publicBaseInfo.ThunderBuffDurTimeAddAmend = item.publicBaseInfo.ThunderBuffDurTimeAddAmend;
        battleBaseInfo.publicBaseInfo.HealIncreasePercent        = item.publicBaseInfo.HealIncreasePercent;
        battleBaseInfo.publicBaseInfo.CritAddValue               = item.publicBaseInfo.CritAddValue;
        battleBaseInfo.publicBaseInfo.HpRestore                  = item.publicBaseInfo.HpRestore;
        battleBaseInfo.battleBaseAttr.BuffMoveSpeedMulPosAmend   = 0;
        battleBaseInfo.battleBaseAttr.BuffActSpeedMulPosAmend    = 0;
        battleBaseInfo.battleBaseAttr.SkillTreatScaleBOAtk       = 0;
        battleBaseInfo.battleBaseAttr.SkillTreatScaleBOHpLmt     = 0;
        battleBaseInfo.battleBaseAttr.SkillNmlDmgScale           = 0;
        battleBaseInfo.battleBaseAttr.SkillNmlDmgAddAmend        = 0;
        battleBaseInfo.battleBaseAttr.SkillHolyDmgScaleBOMaxHp   = 0;
        battleBaseInfo.battleBaseAttr.SkillHolyDmgScaleBOCurHp   = 0;
        battleBaseInfo.battleBaseAttr.Affinity                   = item.affinity;
        battleBaseInfo.battleBaseAttr.OnlineTime                 = PetManager.Instance.GetExistTime(item);
        battleBaseInfo.battleBaseAttr.ActPoint                   = item.actPoint;
        battleBaseInfo.battleBaseAttr.Hp = (long)((double)battleBaseInfo.publicBaseInfo.HpLmt * (1.0 + (double)battleBaseInfo.publicBaseInfo.HpLmtMulAmend * 0.001));
        battleBaseInfo.battleBaseAttr.Vp = (int)((double)battleBaseInfo.publicBaseInfo.VpLmt * (1.0 + (double)battleBaseInfo.publicBaseInfo.VpLmtMulAmend * 0.001));
        battleBaseInfo.skills.AddRange(PetManager.Instance.GetSkillInfo(item.petId));
        battleBaseInfo.ownedListIdx = index;
        battleBaseInfo.ownedIds.Clear();
        battleBaseInfo.finalOwnerId       = EntityWorld.Instance.EntSelf.ID;
        battleBaseInfo.isLoading          = false;
        battleBaseInfo.isFit              = false;
        battleBaseInfo.isInFit            = false;
        battleBaseInfo.isFighting         = false;
        battleBaseInfo.isFixed            = false;
        battleBaseInfo.isStatic           = false;
        battleBaseInfo.isTaunt            = false;
        battleBaseInfo.isSuperArmor       = false;
        battleBaseInfo.isIgnoreDmgFormula = false;
        battleBaseInfo.isCloseRenderer    = false;
        battleBaseInfo.isStun             = false;
        battleBaseInfo.isMoveCast         = false;
        battleBaseInfo.isAssaulting       = false;
        battleBaseInfo.isKnocking         = false;
        battleBaseInfo.isSuspended        = false;
        battleBaseInfo.isSkillManaging    = false;
        battleBaseInfo.isSkillPressing    = false;
        battleBaseInfo.isBorning          = true;
        battleBaseInfo.isBoss             = false;
        return(battleBaseInfo);
    }
Ejemplo n.º 6
0
    protected static BattleBaseInfo CreateMonsterBattleBaseInfo(Monster monsterData, BattleBaseAttrs attrs, int camp, bool isBoss, bool isFighting = true)
    {
        if (attrs == null)
        {
            return(null);
        }
        BattleBaseInfo battleBaseInfo = new BattleBaseInfo();

        battleBaseInfo.publicBaseInfo            = new PublicBaseInfo();
        battleBaseInfo.publicBaseInfo.simpleInfo = new SimpleBaseInfo();
        battleBaseInfo.battleBaseAttr            = new BattleBaseAttr();
        battleBaseInfo.wrapType = GameObjectType.ENUM.Monster;
        battleBaseInfo.camp     = camp;
        battleBaseInfo.publicBaseInfo.simpleInfo.MoveSpeed = DataReader <AvatarModel> .Get(monsterData.model).speed;

        battleBaseInfo.publicBaseInfo.simpleInfo.AtkSpeed = attrs.ActSpeed;
        battleBaseInfo.publicBaseInfo.simpleInfo.Lv       = attrs.Lv;
        battleBaseInfo.publicBaseInfo.simpleInfo.Fighting = attrs.Fighting;
        battleBaseInfo.publicBaseInfo.simpleInfo.VipLv    = attrs.VipLv;
        battleBaseInfo.publicBaseInfo.Atk                        = attrs.Atk;
        battleBaseInfo.publicBaseInfo.Defence                    = attrs.Defence;
        battleBaseInfo.publicBaseInfo.HpLmt                      = attrs.HpLmt;
        battleBaseInfo.publicBaseInfo.PveAtk                     = attrs.PveAtk;
        battleBaseInfo.publicBaseInfo.PvpAtk                     = attrs.PvpAtk;
        battleBaseInfo.publicBaseInfo.HitRatio                   = attrs.HitRatio;
        battleBaseInfo.publicBaseInfo.DodgeRatio                 = attrs.DodgeRatio;
        battleBaseInfo.publicBaseInfo.CritRatio                  = attrs.CritRatio;
        battleBaseInfo.publicBaseInfo.DecritRatio                = attrs.DecritRatio;
        battleBaseInfo.publicBaseInfo.CritHurtAddRatio           = attrs.CritHurtAddRatio;
        battleBaseInfo.publicBaseInfo.ParryRatio                 = attrs.ParryRatio;
        battleBaseInfo.publicBaseInfo.DeparryRatio               = attrs.DeparryRatio;
        battleBaseInfo.publicBaseInfo.ParryHurtDeRatio           = attrs.ParryHurtDeRatio;
        battleBaseInfo.publicBaseInfo.SuckBloodScale             = attrs.SuckBloodScale;
        battleBaseInfo.publicBaseInfo.HurtAddRatio               = attrs.HurtAddRatio;
        battleBaseInfo.publicBaseInfo.HurtDeRatio                = attrs.HurtDeRatio;
        battleBaseInfo.publicBaseInfo.PveHurtAddRatio            = attrs.PveHurtAddRatio;
        battleBaseInfo.publicBaseInfo.PveHurtDeRatio             = attrs.PveHurtDeRatio;
        battleBaseInfo.publicBaseInfo.PvpHurtAddRatio            = attrs.PvpHurtAddRatio;
        battleBaseInfo.publicBaseInfo.PvpHurtDeRatio             = attrs.PvpHurtDeRatio;
        battleBaseInfo.publicBaseInfo.AtkMulAmend                = attrs.AtkMulAmend;
        battleBaseInfo.publicBaseInfo.DefMulAmend                = attrs.DefMulAmend;
        battleBaseInfo.publicBaseInfo.HpLmtMulAmend              = attrs.HpLmtMulAmend;
        battleBaseInfo.publicBaseInfo.PveAtkMulAmend             = attrs.PveAtkMulAmend;
        battleBaseInfo.publicBaseInfo.PvpAtkMulAmend             = attrs.PvpAtkMulAmend;
        battleBaseInfo.battleBaseAttr.ActPointLmt                = attrs.ActPointLmt;
        battleBaseInfo.publicBaseInfo.ActPointRecoverSpeedAmend  = attrs.ActPointRecoverSpeedAmend;
        battleBaseInfo.publicBaseInfo.VpLmt                      = attrs.VpLmt;
        battleBaseInfo.publicBaseInfo.VpLmtMulAmend              = attrs.VpLmtMulAmend;
        battleBaseInfo.publicBaseInfo.VpAtk                      = attrs.VpAtk;
        battleBaseInfo.publicBaseInfo.VpAtkMulAmend              = attrs.VpAtkMulAmend;
        battleBaseInfo.publicBaseInfo.VpResume                   = attrs.VpResume;
        battleBaseInfo.publicBaseInfo.IdleVpResume               = attrs.IdleVpResume;
        battleBaseInfo.publicBaseInfo.WaterBuffAddProbAddAmend   = attrs.WaterBuffAddProbAddAmend;
        battleBaseInfo.publicBaseInfo.WaterBuffDurTimeAddAmend   = attrs.WaterBuffDurTimeAddAmend;
        battleBaseInfo.publicBaseInfo.ThunderBuffAddProbAddAmend = attrs.ThunderBuffAddProbAddAmend;
        battleBaseInfo.publicBaseInfo.ThunderBuffAddProbAddAmend = attrs.ThunderBuffAddProbAddAmend;
        battleBaseInfo.publicBaseInfo.HealIncreasePercent        = attrs.HealIncreasePercent;
        battleBaseInfo.publicBaseInfo.CritAddValue               = attrs.CritAddValue;
        battleBaseInfo.publicBaseInfo.HpRestore                  = attrs.HpRestore;
        battleBaseInfo.battleBaseAttr.BuffMoveSpeedMulPosAmend   = 0;
        battleBaseInfo.battleBaseAttr.BuffActSpeedMulPosAmend    = 0;
        battleBaseInfo.battleBaseAttr.SkillTreatScaleBOAtk       = 0;
        battleBaseInfo.battleBaseAttr.SkillTreatScaleBOHpLmt     = 0;
        battleBaseInfo.battleBaseAttr.SkillNmlDmgScale           = 0;
        battleBaseInfo.battleBaseAttr.SkillNmlDmgAddAmend        = 0;
        battleBaseInfo.battleBaseAttr.SkillHolyDmgScaleBOMaxHp   = 0;
        battleBaseInfo.battleBaseAttr.SkillHolyDmgScaleBOCurHp   = 0;
        battleBaseInfo.battleBaseAttr.Affinity                   = 0;
        battleBaseInfo.battleBaseAttr.OnlineTime                 = 0;
        battleBaseInfo.battleBaseAttr.ActPoint                   = attrs.ActPoint;
        battleBaseInfo.battleBaseAttr.Hp = (long)((double)battleBaseInfo.publicBaseInfo.HpLmt * (1.0 + (double)battleBaseInfo.publicBaseInfo.HpLmtMulAmend * 0.001));
        battleBaseInfo.battleBaseAttr.Vp = (int)((double)battleBaseInfo.publicBaseInfo.VpLmt * (1.0 + (double)battleBaseInfo.publicBaseInfo.VpLmtMulAmend * 0.001));
        battleBaseInfo.ownedListIdx      = 0;
        battleBaseInfo.ownedIds.Clear();
        for (int i = 0; i < monsterData.skill.get_Count(); i++)
        {
            battleBaseInfo.skills.Add(new BattleSkillInfo
            {
                skillIdx = i + 1,
                skillId  = monsterData.skill.get_Item(i)
            });
        }
        battleBaseInfo.isLoading          = false;
        battleBaseInfo.isFit              = false;
        battleBaseInfo.isInFit            = false;
        battleBaseInfo.isFighting         = isFighting;
        battleBaseInfo.isFixed            = false;
        battleBaseInfo.isStatic           = false;
        battleBaseInfo.isTaunt            = false;
        battleBaseInfo.isSuperArmor       = false;
        battleBaseInfo.isIgnoreDmgFormula = false;
        battleBaseInfo.isCloseRenderer    = false;
        battleBaseInfo.isStun             = false;
        battleBaseInfo.isMoveCast         = false;
        battleBaseInfo.isAssaulting       = false;
        battleBaseInfo.isKnocking         = false;
        battleBaseInfo.isSuspended        = false;
        battleBaseInfo.isSkillManaging    = false;
        battleBaseInfo.isSkillPressing    = false;
        battleBaseInfo.isBorning          = true;
        battleBaseInfo.isBoss             = isBoss;
        battleBaseInfo.pressingSkillId    = 0;
        battleBaseInfo.reliveTimes        = 0;
        return(battleBaseInfo);
    }