Exemplo n.º 1
0
    void WriteTest()
    {
        //Skill1 demo = new Skill1(100, "ABC");

        List <activeskill> activeskill = new List <activeskill>();
        activeskill        a           = new activeskill();

        //demo.activeskill = activeskill;
        a.skillName = "激怒";
        a.skillID   = 55555;

        activeskill.Add(a);

        //demo.activeskill[0] = new activeskill();
        //demo.activeskill[0].skillName = "激怒";
        //demo.activeskill[0].skillID = 30001;
        //activeskill skill123 = new activeskill();
        //skill123.skillName = "激怒";
        FileStream fs = new FileStream(Application.dataPath + "/222.xml", FileMode.OpenOrCreate);
        //XmlSerializer xml = new XmlSerializer(typeof(Skill1));
        XmlSerializer xml = new XmlSerializer(typeof(List <activeskill>));

        //Debug.Log(a.Id);



        xml.Serialize(fs, activeskill);
        //xml.Serialize(fs, demo);
        //xml.Serialize(fs,skill123);
        fs.Close();
        Debug.LogError("write done");
    }
Exemplo n.º 2
0
    //Active Skill method
    public void playActiveSkill(activeskill skill)
    {
        if (skill != null)
        {
            if (skill.isRecover == 0)
            {
                //if (PlayerControl.instance.target != null)
                //{

                //EnemyControl enemy;
                //enemy = PlayerControl.instance.target.GetComponent<EnemyControl>();
                //Debug.Log(PlayerControl.instance.gameObject);
                //enemy.EnemyLockTarget(PlayerControl.instance.gameObject);
                float damage;
                float addDam;
                addDam = CalAddDamage(skill);
                for (int a = 0; a < skill.multipleDamage; a = a + 1)
                {
                    if (skill.damageType == "Normal")
                    {
                        damage = EnemyControl.instance.SkillDamage(addDam, skill.baseDam, skill.skillPower, "Normal");
                        //Debug.Log("释放了技能" + skill.skillName + "造成了伤害:结算前" + damage);
                        PlayerControl.instance.ReceiveDamage((int)damage, skill);
                        skill.cd_check = skill.cd - Time.deltaTime;
                        //Debug.Log("重击的cd" + skill.cd_check);
                    }
                    else if (skill.damageType == "Magic")
                    {
                        damage = EnemyControl.instance.SkillDamage(addDam, skill.baseDam, skill.skillPower, "Magic");
                        PlayerControl.instance.ReceiveDamage((int)damage, skill);

                        skill.cd_check = skill.cd - Time.deltaTime;
                    }
                    else if (skill.damageType == "True")
                    {
                        damage = EnemyControl.instance.SkillDamage(addDam, skill.baseDam, skill.skillPower, "True");
                        PlayerControl.instance.ReceiveDamage((int)damage, skill);

                        skill.cd_check = skill.cd - Time.deltaTime;
                    }
                }

                //伤害 =[基础伤害+ 技能威力 × 攻击方攻击力 ÷ 防御方防御力 ÷ 50 + 2]×各类修正
                //}
            }
            else
            {
                float recover;
                float addDam = CalAddDamage(skill);
                recover = EnemyControl.instance.SkillDamage(addDam, skill.baseDam, skill.skillPower, "True");
                //Debug.Log("回复值addDam:" + addDam);
                //Debug.Log("回复值:" + recover);
                EnemyStatus.instance.CurStatus.CurHP += recover;
                EnemyControl.instance.ShowText((int)recover, skill.damageType, skill.skillName);

                skill.cd_check = skill.cd - Time.deltaTime;
                //Debug.Log("回复的cd"+skill.cd_check);
            }
        }
    }
Exemplo n.º 3
0
 ////Cast Break Method  吟唱被打断
 //public void CastBreak()
 //{
 //    //if (magicCircle != null)
 //        //Destroy(magicCircle);
 //    EnemyControl.instance.target = null;
 //    setupSkillTimer = false;
 //    canCast = false;
 //    //botBar.showCastBar = false;
 //}
 public void CastActiveSkill(activeskill skill)
 {
     //Debug.Log("111111111");
     //Debug.Log("时间到了吗" + EnemyControl.instance.cdTimers_enemy[skill.skillID].CurrentTime);
     if (EnemyStatus.instance.CurStatus.CurMP < skill.mpUse)
     {
         Debug.Log("No MP");
         canCast = false;
     }
     else
     {
         if (EnemyControl.instance.cdTimers_enemy[skill.skillID].CurrentTime >= 0)
         {
             Debug.Log("No cd");
             canCast = false;
         }
         else
         {
             //PlayerControl.instance.useSkill = true;
             EnemyControl.instance.castid          = skill.skillID;
             EnemyStatus.instance.CurStatus.CurMP -= skill.mpUse;
             canCast = true;
         }
     }
     //Debug.Log(canCast);
 }
Exemplo n.º 4
0
    ////Cast Break Method  吟唱被打断
    //public void CastBreak()
    //{
    //    //if (magicCircle != null)
    //        //Destroy(magicCircle);
    //    PlayerControl.instance.target = null;
    //    setupSkillTimer = false;
    //    canCast = false;
    //    //botBar.showCastBar = false;
    //}

    //Cast skill method
    public void CastActiveSkill(activeskill skill, int x)
    {
        //Debug.Log("时间到了吗" +PlayerControl.instance.cdTimers[skill.skillID].CurrentTime );
        if (HeroStatus.instance.CurStatus.CurMP < skill.mpUse)
        {
            Debug.Log("No MP");
            canCast = false;
        }
        else
        {
            //if (skill.cdCount.IsTimeUp==false)
            if (PlayerControl.instance.cdTimers[skill.skillID].CurrentTime >= 0)
            {
                Debug.Log("No cd");
                canCast = false;
            }
            else
            {
                PlayerControl.instance.ResetBeforeCast();
                PlayerControl.instance.ResetOldCast();
                //PlayerControl.instance.useSkill = true;
                PlayerControl.instance.castid        = skill.skillID;
                HeroStatus.instance.CurStatus.CurMP -= skill.mpUse;
                canCast = true;
            }
        }
        //Debug.Log(canCast);
    }
Exemplo n.º 5
0
 //把读取到的使用技能写入列表
 void setSkill()
 {
     PlayerControl.instance.normalAtk = Data.GetData <activeskill>(20000);
     for (int i = 0; i < 7; i++)
     {
         int x = HeroStatus.instance.use_activeSkillAttack[i];
         if (x == 0)
         {
             //activeskill thisSkill = Data.GetData<activeskill>(x);
             HeroStatus.instance.used_activeskill.Add(PlayerControl.instance.normalAtk);
         }
         else
         {
             activeskill thisSkill = Data.GetData <activeskill>(x);
             HeroStatus.instance.used_activeskill.Add(thisSkill);
         }
     }
 }
Exemplo n.º 6
0
    //承受伤害
    public void ReceiveDamage(int damage, activeskill skill)
    {
        //伤害 =[(攻击方等级 × 2 ÷ 5 + 2) × 技能威力 × 攻击方攻击力 ÷ 防御方防御力 ÷ 50 ]×各类修正
        float trueDamage;

        if (damage == -1)
        {
            ShowText(damage, skill.damageType, skill.skillName);
            //Debug.Log("MISS!");
        }
        else
        {
            if (skill.damageType == "Normal")
            {
                trueDamage = damage / (HeroStatus.instance.CurStatus.CurDefValue) / 1f;
                HeroStatus.instance.CurStatus.CurHP = HeroStatus.instance.CurStatus.CurHP - trueDamage;
                ShowText((int)trueDamage, "物理伤害", skill.skillName);
                //Debug.Log("敌人使用"+skill.skillName +",对你造成了" + trueDamage + "点物理伤害");
            }
            else if (skill.damageType == "Magic")
            {
                trueDamage = damage / (HeroStatus.instance.CurStatus.CurMagicDef) / 1f;
                HeroStatus.instance.CurStatus.CurHP = HeroStatus.instance.CurStatus.CurHP - trueDamage;
                ShowText((int)trueDamage, "魔法伤害", skill.skillName);
                //Debug.Log("敌人使用"+skillName +",对你造成了" + trueDamage + "点魔法伤害");
            }
            else if (skill.damageType == "True")
            {
                trueDamage = damage;
                HeroStatus.instance.CurStatus.CurHP = HeroStatus.instance.CurStatus.CurHP - trueDamage;
                ShowText((int)trueDamage, "真实伤害", skill.skillName);
                //Debug.Log("敌人使用"+skillName +",对你造成了" + trueDamage + "点真实伤害");
            }
        }
        if (HeroStatus.instance.CurStatus.CurHP <= 0)
        {
            //Debug.Log("战斗失败");
            ShowText(-2, skill.damageType, skill.skillName);
            HeroStatus.instance.CurStatus.CurHP = 0;


            //Reborn();
        }
    }
Exemplo n.º 7
0
    //承受伤害
    public void ReceiveDamage(int damage, activeskill skill)
    {
        //Debug.Log("111+"+damage);
        //伤害 =[(攻击方等级 × 2 ÷ 5 + 2) × 技能威力 × 攻击方攻击力 ÷ 防御方防御力 ÷ 50 ]×各类修正
        float trueDamage;

        if (damage == -1)
        {
            ShowText(damage, skill.damageType, skill.skillName);
            //Debug.Log("MISS!");
        }
        else
        {
            if (skill.damageType == "Normal")
            {
                trueDamage = damage / (EnemyStatus.instance.CurStatus.CurDefValue) / 1f;
                EnemyStatus.instance.CurStatus.CurHP = EnemyStatus.instance.CurStatus.CurHP - trueDamage;
                //Debug.Log("释放了技能" + skill.skillName + "造成了伤害:结算后" + trueDamage);
                ShowText((int)trueDamage, "物理伤害", skill.skillName);
                //Debug.Log("你使用"+skillName +",对敌人造成了" + trueDamage + "点物理伤害");
            }
            else if (skill.damageType == "Magic")
            {
                trueDamage = damage / (EnemyStatus.instance.CurStatus.CurMagicDef) / 1f;
                EnemyStatus.instance.CurStatus.CurHP = EnemyStatus.instance.CurStatus.CurHP - trueDamage;
                ShowText((int)trueDamage, "魔法伤害", skill.skillName);
                //Debug.Log("你使用" + skillName + ",对敌人造成了" + trueDamage + "点魔法伤害");
            }
            else if (skill.damageType == "True")
            {
                trueDamage = damage;
                EnemyStatus.instance.CurStatus.CurHP = EnemyStatus.instance.CurStatus.CurHP - trueDamage;
                ShowText((int)trueDamage, "真实伤害", skill.skillName);
                //Debug.Log("你使用" + skillName + ",对敌人造成了" + trueDamage + "点真实伤害");
            }
        }

        if (EnemyStatus.instance.CurStatus.CurHP <= 0)
        {
            EnemyStatus.instance.CurStatus.CurHP = 0;
            ShowText(-2, skill.damageType, skill.skillName);
        }
    }
Exemplo n.º 8
0
    //把读取到的使用技能写入列表
    void setSkill_enemy(string str)
    {
        List <string> use_activeSkillAttack = new List <string>(str.Split(','));      //或者

        //EnemyStatus.instance.use_activeSkillAttack = str.Split(',');
        //Debug.Log(use_activeSkillAttack[0]);
        for (int i = 0; i < 7; i++)
        {
            EnemyStatus.instance.use_activeSkillAttack[i] = int.Parse(use_activeSkillAttack[i]);
            //Debug.Log(EnemyStatus.instance.use_activeSkillAttack[i]);
        }
        //Debug.Log(EnemyStatus.instance.use_activeSkillAttack[0]==20004);
        //EnemyStatus.instance.use_activeSkillAttack = use_activeSkillAttack;
        EnemyControl.instance.normalAtk = Data.GetData <activeskill>(20000);
        //Debug.Log(EnemyStatus.instance.use_activeSkillAttack[0]);
        //Debug.Log(EnemyStatus.instance.use_activeSkillAttack[1]);
        //Debug.Log(EnemyStatus.instance.use_activeSkillAttack[2]);
        //Debug.Log(EnemyStatus.instance.use_activeSkillAttack[3]);
        //Debug.Log(EnemyStatus.instance.use_activeSkillAttack[4]);
        //Debug.Log(EnemyStatus.instance.use_activeSkillAttack[5]);
        //Debug.Log(EnemyStatus.instance.use_activeSkillAttack[6]);
        for (int i = 0; i < 7; i++)
        {
            int x = EnemyStatus.instance.use_activeSkillAttack[i];
            if (x == 0)
            {
                //activeskill thisSkill = Data.GetData<activeskill>(x);
                EnemyStatus.instance.used_activeskill.Add(EnemyControl.instance.normalAtk);
            }
            else
            {
                activeskill thisSkill = Data.GetData <activeskill>(x);
                //Debug.Log(thisSkill.skillName);
                EnemyStatus.instance.used_activeskill.Add(thisSkill);
            }
        }
        //Debug.Log(EnemyStatus.instance.used_activeskill[0].skillName);
    }
Exemplo n.º 9
0
    public float CalAddDamage(activeskill skill)
    {
        float AddDamage = 0f;

        if (skill.addAttribute == "None")
        {
            AddDamage = 0;
        }
        if (skill.addAttribute == "HP")
        {
            AddDamage = EnemyStatus.instance.SumStatus.HP * (skill.addValue);
        }


        if (skill.addAttribute == "MP")
        {
            AddDamage = EnemyStatus.instance.SumStatus.MP * (skill.addValue);
        }


        if (skill.addAttribute == "S")
        {
            AddDamage = EnemyStatus.instance.CurStatus.CurS * (skill.addValue);
        }


        if (skill.addAttribute == "P")
        {
            AddDamage = EnemyStatus.instance.CurStatus.CurP * (skill.addValue);
        }


        if (skill.addAttribute == "D")
        {
            AddDamage = EnemyStatus.instance.CurStatus.CurD * (skill.addValue);
        }


        if (skill.addAttribute == "A")
        {
            AddDamage = EnemyStatus.instance.CurStatus.CurA * (skill.addValue);
        }


        if (skill.addAttribute == "I")
        {
            AddDamage = EnemyStatus.instance.CurStatus.CurI * (skill.addValue);
        }

        if (skill.addAttribute == "AtkValue")
        {
            AddDamage = EnemyStatus.instance.CurStatus.CurAtkValue * (skill.addValue);
        }


        if (skill.addAttribute == "DefValue")
        {
            AddDamage = EnemyStatus.instance.CurStatus.CurDefValue * (skill.addValue);
        }


        if (skill.addAttribute == "AValue")
        {
            AddDamage = EnemyStatus.instance.CurStatus.CurAValue * (skill.addValue);
        }
        //if (skill.addAttribute == "IValue")
        //{
        //    HeroStatus.instance.AddStatus.IValue += skill.addValue;
        //}


        if (skill.addAttribute == "MagicAtk")
        {
            AddDamage = EnemyStatus.instance.CurStatus.CurMagicAtk * (skill.addValue);
        }


        if (skill.addAttribute == "MagicDef")
        {
            AddDamage = EnemyStatus.instance.CurStatus.CurMagicDef * (skill.addValue);
        }

        if (skill.addAttribute == "AttackSpeed")
        {
            AddDamage = EnemyStatus.instance.CurStatus.CurAttackSpeed * (skill.addValue);
        }

        if (skill.addAttribute == "Crit")
        {
            AddDamage = EnemyStatus.instance.CurStatus.CurCrit * (skill.addValue);
        }


        if (skill.addAttribute == "CritDamage")
        {
            AddDamage = EnemyStatus.instance.CurStatus.CurCritDamage * (skill.addValue);
        }

        if (skill.addAttribute == "Hit")
        {
            AddDamage = EnemyStatus.instance.CurStatus.CurHit * (skill.addValue);
        }


        if (skill.addAttribute == "Agl")
        {
            AddDamage = EnemyStatus.instance.CurStatus.CurAgl * (skill.addValue);
        }


        if (skill.addAttribute == "Counter")
        {
            AddDamage = EnemyStatus.instance.CurStatus.CurCounter * (skill.addValue);
        }

        if (skill.addAttribute == "Double")
        {
            AddDamage = EnemyStatus.instance.CurStatus.CurDouble * (skill.addValue);
        }


        if (skill.addAttribute == "HPRecoverPerSecond")
        {
            AddDamage = EnemyStatus.instance.CurStatus.CurHPRecoverPerSecond * (skill.addValue);
        }


        if (skill.addAttribute == "MPRecoverPerSecond")
        {
            AddDamage = EnemyStatus.instance.CurStatus.CurMPRecoverPerSecond * (skill.addValue);
        }
        return(AddDamage / 100f);
    }