Пример #1
0
    public void SDL_Click()
    {
        if (isAdding == false)
        {
            selectedSkill = SDL;

            panel.SetActive(true);
            text_detail_name.text  = SDL.name;
            text_detail_intro.text = "对目标敌人及其他两名敌人造成闪电伤害";
            Refresh_Detail();

            text_1_1_name.text = "闪电链1-1";
            text_1_2_name.text = "闪电链1-2";
            text_1_3_name.text = "闪电链1-3";
            text_2_1_name.text = "闪电链2-1";
            text_2_2_name.text = "闪电链2-2";
            text_2_3_name.text = "闪电链2-3";
            text_3_1_name.text = "闪电链3-1";
            text_3_2_name.text = "闪电链3-2";
            text_3_3_name.text = "闪电链3-3";
            text_4_1_name.text = "闪电链4-1";
            text_4_2_name.text = "闪电链4-2";
            text_4_3_name.text = "闪电链4-3";

            SetAllDetailImage("闪电链");
        }
    }
Пример #2
0
    void Start()
    {
        playerStats = gameObject.GetComponent <CharacterStats>();

        activeSkill1 = new SkillClass();
        activeSkill2 = new SkillClass();

        //player skills

        //SecretArts: 2nd Form Fatal, renamed to Gale Return
        SkillClass Fatal_Return = new SkillClass(SkillClass.defensive_Keyword, 100, false, 5f, "Fatal_Return_Icon", "FatalReturn", "FatalReturn", 5f, "Agility", "SecretArts 2nd Form: Fatal Return",
                                                 "The 2nd form of the SecretArts school, a quick and powerful counter attack, " +
                                                 "where the user pull the blade to the side horizontally, then after evading incoming attack, unleashes a powerful slash, " +
                                                 "along with powerful wind blades", 3f);

        Fatal_Return.configureSkillSecondaryEffect(SkillClass.offensive_Keyword, 1.2f, "", 0.0f);

        //SecretArts:6th Form Fuji Stance


        //SecretArts: 5th Form Descent of the Dragon



        addNewSkill(Fatal_Return);
    }
Пример #3
0
    public void BFX_Click()
    {
        if (isAdding == false)
        {
            selectedSkill = BFX;

            panel.SetActive(true);
            text_detail_name.text  = BFX.name;
            text_detail_intro.text = "对全体敌人造成冰冷伤害";
            Refresh_Detail();

            text_1_1_name.text = "暴风雪1-1";
            text_1_2_name.text = "暴风雪1-2";
            text_1_3_name.text = "暴风雪1-3";
            text_2_1_name.text = "暴风雪2-1";
            text_2_2_name.text = "暴风雪2-2";
            text_2_3_name.text = "暴风雪2-3";
            text_3_1_name.text = "暴风雪3-1";
            text_3_2_name.text = "暴风雪3-2";
            text_3_3_name.text = "暴风雪3-3";
            text_4_1_name.text = "暴风雪4-1";
            text_4_2_name.text = "暴风雪4-2";
            text_4_3_name.text = "暴风雪4-3";

            SetAllDetailImage("暴风雪");
        }
    }
Пример #4
0
    public void HQS_Click()
    {
        if (isAdding == false)
        {
            selectedSkill = HQS;

            panel.SetActive(true);
            text_detail_name.text  = HQS.name;
            text_detail_intro.text = "对目标敌人造成火焰伤害";
            Refresh_Detail();

            text_1_1_name.text = "火球术1-1";
            text_1_2_name.text = "火球术1-2";
            text_1_3_name.text = "火球术1-3";
            text_2_1_name.text = "火球术2-1";
            text_2_2_name.text = "火球术2-2";
            text_2_3_name.text = "火球术2-3";
            text_3_1_name.text = "火球术3-1";
            text_3_2_name.text = "火球术3-2";
            text_3_3_name.text = "火球术3-3";
            text_4_1_name.text = "火球术4-1";
            text_4_2_name.text = "火球术4-2";
            text_4_3_name.text = "火球术4-3";

            SetAllDetailImage("火球术");
        }
    }
Пример #5
0
 public SkillInfo(String name, SkillClass skillClass, String description, String followUpDescription)
 {
     this.name                = name;
     this.skillClass          = skillClass;
     this.description         = description;
     this.followUpDescription = followUpDescription;
 }
Пример #6
0
    public void HY_Click()
    {
        if (isAdding == false)
        {
            selectedSkill = HY;

            panel.SetActive(true);
            text_detail_name.text  = HY.name;
            text_detail_intro.text = "对全体敌人造成火焰伤害";
            Refresh_Detail();

            text_1_1_name.text = "火雨1-1";
            text_1_2_name.text = "火雨1-2";
            text_1_3_name.text = "火雨1-3";
            text_2_1_name.text = "火雨2-1";
            text_2_2_name.text = "火雨2-2";
            text_2_3_name.text = "火雨2-3";
            text_3_1_name.text = "火雨3-1";
            text_3_2_name.text = "火雨3-2";
            text_3_3_name.text = "火雨3-3";
            text_4_1_name.text = "火雨4-1";
            text_4_2_name.text = "火雨4-2";
            text_4_3_name.text = "火雨4-3";

            SetAllDetailImage("火雨");
        }
    }
Пример #7
0
    // Start is called before the first frame update
    void Start()
    {
        SkillClass skill  = gameObject.transform.parent.parent.GetComponent <SkillManager>().selectedSkill;
        string     detail = gameObject.transform.parent.parent.GetComponent <SkillManager>().selectedDetail;

        showText.text = GettheIntro(skill.id, ConvertDetailtoOrder(detail));
    }
Пример #8
0
    public void BD_Click()
    {
        if (isAdding == false)
        {
            selectedSkill = BD;

            panel.SetActive(true);
            text_detail_name.text  = BD.name;
            text_detail_intro.text = "对目标敌人造成冰冷伤害";
            Refresh_Detail();

            text_1_1_name.text = "冰弹1-1";
            text_1_2_name.text = "冰弹1-2";
            text_1_3_name.text = "冰弹1-3";
            text_2_1_name.text = "冰弹2-1";
            text_2_2_name.text = "冰弹2-2";
            text_2_3_name.text = "冰弹2-3";
            text_3_1_name.text = "冰弹3-1";
            text_3_2_name.text = "冰弹3-2";
            text_3_3_name.text = "冰弹3-3";
            text_4_1_name.text = "冰弹4-1";
            text_4_2_name.text = "冰弹4-2";
            text_4_3_name.text = "冰弹4-3";

            SetAllDetailImage("冰弹");
        }
    }
Пример #9
0
 public void Setup(SkillClass S, MasterScript M, GameObject G, Text F)
 {
     Sref      = S;
     TextUse   = S.NameSkill;
     DetailUse = S.DescribeSkill;
     Mref      = M;
     Detail    = G;
     Flavour   = F;
 }
Пример #10
0
    public static Transform skillprefab(SkillClass skill, SkillBreed breed)
    {
        Transform[]      allList = Resources.LoadAll <Transform>("ScriptableObjects/skills/skillPrefabs");
        List <Transform> all     = new List <Transform>();

        for (int i = 0; i < allList.Length; i++)
        {
            all.Add(allList[i]);
        }
        if (skill == SkillClass.damage)
        {
            if (breed == SkillBreed.Close)
            {
                return(all.Find(x => x.GetComponent <Slash>()));
            }
            else
            {
                return(all.Find(x => x.GetComponent <Shoot>()));
            }
        }
        else if (skill == SkillClass.mixedDamage)
        {
            if (breed == SkillBreed.Close)
            {
                return(all.Find(x => x.GetComponent <MixedSlash>()));
            }
            else
            {
                return(all.Find(x => x.GetComponent <MixedShoot>()));
            }
        }
        else if (skill == SkillClass.addState)
        {
            return(all.Find(x => x.GetComponent <AttritubeChange>()));
        }
        else if (skill == SkillClass.heal)
        {
            return(all.Find(x => x.GetComponent <AddHeal>()));
        }
        else if (skill == SkillClass.addHpMpTp)
        {
            return(all.Find(x => x.GetComponent <AddBarChart>()));
        }
        else if (skill == SkillClass.revive)
        {
            return(all.Find(x => x.GetComponent <ReviveOne>()));
        }
        else if (skill == SkillClass.intervene)
        {
            return(all.Find(x => x.GetComponent <Intervene>()));
        }

        return(null);
    }
Пример #11
0
 public virtual void InitInstance()
 {
     SkillObj             = new Dictionary <string, List <GameObject> >();
     TheSkillClass        = SkillClass.instance;
     SkillParticleManager = GameObject.Find("SkillParticleManager");
     TheChampionData      = GetComponent <ChampionData>();
     TheSplatManager      = GetComponentInChildren <SplatManager>();
     TheChampionBehaviour = GetComponent <ChampionBehavior>();
     TheUIStat            = GameObject.FindGameObjectWithTag("UICanvas").GetComponent <UICanvas>().Stat.GetComponent <UIStat>();
     InitTempValue();
 }
Пример #12
0
 /// <summary>
 /// 최초 설정 값을 잡는 함수
 /// </summary>
 public virtual void InitInstance()
 {
     skillObj             = new Dictionary <string, List <GameObject> >();
     TheSkillClass        = SkillClass.Instance;
     skillParticleManager = new GameObject("SkillParticleManager");
     skillParticleManager.transform.parent = this.transform.parent;
     TheChampionData      = GetComponent <ChampionData>();
     TheSplatManager      = GetComponentInChildren <SplatManager>();
     TheChampionBehaviour = GetComponent <ChampionBehavior>();
     championAnimation    = GetComponent <ChampionAnimation>();
 }
Пример #13
0
    private SkillClass CreateSkill(int sid, string sname, string srating)
    {
        GameObject temp = Instantiate(SkillPrefab);

        temp.transform.SetParent(viewContent.transform);
        SkillClass tempSkill = temp.GetComponent <SkillClass>();

        tempSkill.SkillID     = sid;
        tempSkill.SkillName   = sname;
        tempSkill.SkillRating = srating;
        return(tempSkill);
    }
Пример #14
0
    public void SaveSkill(SkillClass skill)
    {
        ConnectToDB("SimpleGame.db");

        dbCommand             = dbConnection.CreateCommand();
        dbCommand.CommandText =
            "UPDATE Skill SET Name = '" + skill.name + "', Type = " + skill.type + ", Level = " + skill.level + ", Active = " + skill.active + ", Passive1 = " + skill.passive1 + ", Passive2 = " + skill.passive2
            + ", Passive3 = " + skill.passive3 + ", Passive4 = " + skill.passive4 + ", Passive5 = " + skill.passive5 + ", Passive6 = " + skill.passive6 + ", Passive7 = " + skill.passive7
            + ", Passive8 = " + skill.passive8 + ", Passive9 = " + skill.passive9 + ", Passive10 = " + skill.passive10 + ", Passive11 = " + skill.passive11 + ", Passive12 = " + skill.passive12 + " WHERE ID = " + skill.id;
        dbCommand.ExecuteNonQuery();

        CloseConnection();
    }
Пример #15
0
 public Skill(string name, SkillClass skillClass, int level = 1, SkillSex skillSex = SkillSex.DontCare)
 {
     if (skillClass == SkillClass.NoLevel)
     {
         Level = 0;
     }
     else
     {
         Level = level;
     }
     Class           = skillClass;
     SexApplicabilty = skillSex;
     Name            = name;
 }
Пример #16
0
 public Skill(string name, SkillType type, SkillClass skillClass, Emotion emotion, Emotion emotionSwitch, int cost, int damage,
              DamageType damageType, StatusEffect status, int statusChance, string description)
 {
     Name          = name;
     Type          = type;
     SkillClass    = skillClass;
     Emotion       = emotion;
     EmotionSwitch = emotionSwitch;
     Cost          = cost;
     Damage        = damage;
     DamageType    = damageType;
     Status        = status;
     StatusChance  = statusChance;
     Description   = description;
 }
Пример #17
0
    public UnitSkill()
    {
        var unitSkillData = (UnitSkillData)skillData;

        costMP     = unitSkillData.costMP;
        costHP     = unitSkillData.costHP;
        skillRange = unitSkillData.skillRange;
        hoverRange = unitSkillData.hoverRange;
        skillRate  = unitSkillData.skillRate;
        comboType  = unitSkillData.comboType;
        skillType  = unitSkillData.skillType;
        skillClass = unitSkillData.skillClass;
        rangeType  = unitSkillData.rangeType;
        animID     = unitSkillData.animID;
    }
Пример #18
0
 public void SetupActions()
 {
     UiElements[4].SetActive(true);
     foreach (Transform Child in UiElements[4].transform)
     {
         Destroy(Child.gameObject);
     }
     for (int i = 0; i < Mref.Cref.Learned.Count; i++)
     {
         SkillClass Sref = Mref.Cref.Learned[i];
         GameObject S    = Instantiate(SkillText);
         S.GetComponent <ActionScript>().Setup(Sref, Mref, UiElements[5], UiElements[5].GetComponentInChildren <Text>());
         S.transform.SetParent(UiElements[4].transform);
         S.GetComponent <Text>().text = Sref.NameSkill;
     }
 }
Пример #19
0
 public void SetupShop()
 {
     UiElements[8].SetActive(true);
     foreach (Transform Child in UiElements[8].transform)
     {
         Destroy(Child.gameObject);
     }
     for (int i = 0; i < Mref.Gref.Shop.Length; i++)
     {
         SkillClass Sref = Mref.Gref.Shop[i];
         GameObject S    = Instantiate(SkillText);
         S.GetComponent <ActionScript>().Setup(Sref, Mref, UiElements[5], UiElements[5].GetComponentInChildren <Text>());
         S.transform.SetParent(UiElements[8].transform);
         S.GetComponent <Text>().text = Sref.NameSkill + "(" + Sref.LearnCost + ")";
     }
 }
Пример #20
0
    //used for adding a new skill
    public bool addNewSkill(SkillClass newSkill)
    {
        for (int i = 0; i < playerSkills.Count; i++)
        {
            if (playerSkills[i].getSkillName().Equals(newSkill.getSkillName()))
            {
                return(false);
            }

            if (playerSkills[i].getIconSpriteName().Equals(newSkill.getIconSpriteName()))
            {
                return(false);
            }
        }

        playerSkills.Add(newSkill);
        return(true);
    }
Пример #21
0
    public void Skill(int skillName, int skillLevel, HeroManager enemy)
    {
        int        damage          = 0;
        int        elseTargetCount = 0;
        string     skillNameStr    = "";
        SkillClass thisSkill       = new SkillClass();

        foreach (SkillClass i in skillList)
        {
            if (i.id == skillName)
            {
                thisSkill = i;
            }
        }
        damage = thisSkill.basicDamage;
        for (int i = 0; i < skillLevel; i++)
        {
            damage = (int)(1.3 * damage);
        }
        damage = damage * (1 + theHero.ap / 100);
        //基本伤害公式:(基础伤)*1.3技能等级次方*(1+法强/100)
        if (skillName == 1)
        {
            //闪电链:对目标敌人及其他两名敌人造成伤害
            elseTargetCount = 2;
            skillNameStr    = "闪电链!";
        }
        else if (skillName == 2)
        {
            //火球术:对目标敌人造成伤害
            elseTargetCount = 0;
            skillNameStr    = "火球术!";
        }
        else if (skillName == 3)
        {
            //暴风雪:对全体敌人造成伤害
            elseTargetCount = 5;
            skillNameStr    = "暴风雪!";
        }

        skillNameText.text = skillNameStr;
        SkillNameBlink();
        Spell(enemy, damage, elseTargetCount);
    }
Пример #22
0
    //---------------------------------  Skill Class  ---------------------------------
    public static SkillClass getClassByName(string name)
    {
        SkillClass _class = null;

        switch (name)
        {
        case "Wizard":
            _class = new SkillClass("Wizard", new byte[] { 249, 230, 107, 255 });
            break;

        case "Warrior":
            _class = new SkillClass("Warrior", new byte[] { 9, 142, 187, 255 });
            break;

        case "Assassin":
            _class = new SkillClass("Assassin", new byte[] { 158, 26, 21, 255 });
            break;
        }
        return(_class);
    }
Пример #23
0
    public List <SkillClass> GetAllSkill()
    {
        ConnectToDB("SimpleGame.db");

        List <SkillClass> skillList = new List <SkillClass>();

        dataReader =
            ExecuteQuery("SELECT Name, Type, Level, Active, Passive1, Passive2, Passive3, Passive4, Passive5, Passive6" +
                         ", Passive7, Passive8, Passive9, Passive10, Passive11, Passive12, ID, BasicDamage FROM Skill;");
        while (dataReader.HasRows)
        {
            if (dataReader.Read())
            {
                SkillClass skill = new SkillClass();
                skill.name        = dataReader.GetString(0);
                skill.type        = dataReader.GetInt32(1);
                skill.level       = dataReader.GetInt32(2);
                skill.active      = dataReader.GetInt32(3);
                skill.passive1    = dataReader.GetInt32(4);
                skill.passive2    = dataReader.GetInt32(5);
                skill.passive3    = dataReader.GetInt32(6);
                skill.passive4    = dataReader.GetInt32(7);
                skill.passive5    = dataReader.GetInt32(8);
                skill.passive6    = dataReader.GetInt32(9);
                skill.passive7    = dataReader.GetInt32(10);
                skill.passive8    = dataReader.GetInt32(11);
                skill.passive9    = dataReader.GetInt32(12);
                skill.passive10   = dataReader.GetInt32(13);
                skill.passive11   = dataReader.GetInt32(14);
                skill.passive12   = dataReader.GetInt32(15);
                skill.id          = dataReader.GetInt32(16);
                skill.basicDamage = dataReader.GetInt32(17);

                skillList.Add(skill);
            }
        }

        CloseConnection();

        return(skillList);
    }
Пример #24
0
    public void setSkill2(string skill_Name)
    {
        bool set = false;

        UISkillSlot2.GetComponent <Image>().enabled = true;

        for (int i = 0; i < playerSkills.Count; i++)
        {
            if (playerSkills[i].getSkillName().Equals(skill_Name))
            {
                activeSkill2 = playerSkills[i];
                UISkillSlot2.GetComponent <Image>().sprite = Resources.Load <Sprite>("Skill_Icons/" + playerSkills[i].getIconSpriteName());
                set = true;
            }
        }

        if (!set)
        {
            throw new System.Exception("SkillSlot2: Skill Does Not Exist");
        }
    }
Пример #25
0
    public SkillClass GetSkill(int id)
    {
        ConnectToDB("SimpleGame.db");

        SkillClass skill = new SkillClass();

        skill.id = id;

        dataReader =
            ExecuteQuery("SELECT Name, Type, Level, Active, Passive1, Passive2, Passive3, Passive4, Passive5, Passive6" +
                         ", Passive7, Passive8, Passive9, Passive10, Passive11, Passive12, BasicDamage FROM Skill WHERE ID = " + id + ";");
        while (dataReader.HasRows)
        {
            if (dataReader.Read())
            {
                skill.name        = dataReader.GetString(0);
                skill.type        = dataReader.GetInt32(1);
                skill.level       = dataReader.GetInt32(2);
                skill.active      = dataReader.GetInt32(3);
                skill.passive1    = dataReader.GetInt32(4);
                skill.passive2    = dataReader.GetInt32(5);
                skill.passive3    = dataReader.GetInt32(6);
                skill.passive4    = dataReader.GetInt32(7);
                skill.passive5    = dataReader.GetInt32(8);
                skill.passive6    = dataReader.GetInt32(9);
                skill.passive7    = dataReader.GetInt32(10);
                skill.passive8    = dataReader.GetInt32(11);
                skill.passive9    = dataReader.GetInt32(12);
                skill.passive10   = dataReader.GetInt32(13);
                skill.passive11   = dataReader.GetInt32(14);
                skill.passive12   = dataReader.GetInt32(15);
                skill.basicDamage = dataReader.GetInt32(16);
            }
        }

        CloseConnection();

        return(skill);
    }
Пример #26
0
 public void saveSkillManager(List <SkillClass> playerSkills, SkillClass activeSkill1, SkillClass activeSkill2)
 {
     this.playerSkills = playerSkills.ToArray();
     this.activeSkill1 = activeSkill1;
     this.activeSkill2 = activeSkill2;
 }
Пример #27
0
        public static void BeforeLogLineRead(bool isImport, Advanced_Combat_Tracker.LogLineEventArgs logInfo)
        {
            string l = logInfo.logLine;

            try
            {
                DateTime timestamp = ParseLogDateTime(l);

                char[]   dt       = { '\t' };
                string[] logParts = l.Split(dt);
                int      flag     = Convert.ToInt32(logParts[2], 16);
                if (flag > 7)
                {
                    return;
                }

                l = logParts[7];

                Match m;

                // open
                m = regex_open.Match(l);
                if (m.Success)
                {
                    string target = m.Groups["target"].Success ? DecodeString(m.Groups["target"].Value) : "";
                    encounter = target;
                    Advanced_Combat_Tracker.ActGlobals.oFormActMain.SetEncounter(timestamp, encounter, encounter);
                    // DQX_ACT_Plugin.LogParserMessage("Open: "+target);
                    NameClass.Clear();
                    return;
                }

                // close
                m = regex_close.Match(l);
                if (m.Success)
                {
                    // Advanced_Combat_Tracker.ActGlobals.oFormActMain.ChangeZone("test");
                    Advanced_Combat_Tracker.ActGlobals.oFormActMain.EndCombat(true);
                    // DQX_ACT_Plugin.LogParserMessage("Close: ");
                    return;
                }

                // action
                if (!l.StartsWith(" →"))
                {
                    m = regex_action.Match(l);
                    if (m.Success)
                    {
                        actor  = m.Groups["actor"].Success ? DecodeString(m.Groups["actor"].Value) : "";
                        action = m.Groups["action"].Success ? DecodeString(m.Groups["action"].Value) : "";
                        if (!NameClass.ContainsKey(actor))
                        {
                            if (SkillClass.ContainsKey(action))
                            {
                                NameClass.Add(actor, SkillClass[action]);
                            }
                        }
                        return;
                    }
                    m = regex_action2.Match(l);
                    if (m.Success)
                    {
                        actor  = "不明";
                        action = m.Groups["action"].Success ? DecodeString(m.Groups["action"].Value) : "";
                        return;
                    }

                    // death
                    m = regex_dead2.Match(l);
                    if (m.Success)
                    {
                        string target = m.Groups["target"].Success ? DecodeString(m.Groups["target"].Value) : "";
                        Advanced_Combat_Tracker.ActGlobals.oFormActMain.AddCombatAction(
                            (int)Advanced_Combat_Tracker.SwingTypeEnum.Healing,
                            false,
                            "",
                            "不明",
                            "Death",
                            Advanced_Combat_Tracker.Dnum.Death,
                            timestamp,
                            Advanced_Combat_Tracker.ActGlobals.oFormActMain.GlobalTimeSorter,
                            target,
                            "");
                        return;
                    }
                    return;
                }

                if (!Advanced_Combat_Tracker.ActGlobals.oFormActMain.InCombat)
                {
                    return;
                }

                // crit
                m = regex_crit.Match(l);
                if (m.Success)
                {
                    isCritical = true;
                    return;
                }

                // damage
                m = regex_hit.Match(l);
                if (m.Success)
                {
                    string target = m.Groups["target"].Success ? DecodeString(m.Groups["target"].Value) : "";

                    // if (Advanced_Combat_Tracker.ActGlobals.oFormActMain.SetEncounter(timestamp, actor, encounter))
                    {
                        MasterSwing ms = new MasterSwing(
                            (int)Advanced_Combat_Tracker.SwingTypeEnum.NonMelee,
                            isCritical,
                            "",
                            new Advanced_Combat_Tracker.Dnum(int.Parse(m.Groups["damage"].Value, System.Globalization.NumberStyles.AllowThousands)),
                            timestamp,
                            Advanced_Combat_Tracker.ActGlobals.oFormActMain.GlobalTimeSorter,
                            action,
                            actor,
                            "",
                            target);

                        Advanced_Combat_Tracker.ActGlobals.oFormActMain.AddCombatAction(ms);

                        var e = false;
                        foreach (var a in Allies)
                        {
                            if (a.Name == ms.Attacker)
                            {
                                e = true;
                                break;
                            }
                        }
                        if (ms.Attacker == encounter)
                        {
                            e = true;
                        }
                        if (!e)
                        {
                            CombatantData cd = ms.ParentEncounter.GetCombatant(ms.Attacker);
                            Allies.Add(cd);
                        }
                        ms.ParentEncounter.SetAllies(Allies);
                    }

                    isCritical = false;
                    return;
                }

                // miss
                m = regex_miss.Match(l);
                if (m.Success)
                {
                    string target = m.Groups["target"].Success ? DecodeString(m.Groups["target"].Value) : "";

                    //          if (Advanced_Combat_Tracker.ActGlobals.oFormActMain.SetEncounter(timestamp, actor, encounter))
                    {
                        Advanced_Combat_Tracker.ActGlobals.oFormActMain.AddCombatAction(
                            (int)Advanced_Combat_Tracker.SwingTypeEnum.NonMelee,
                            isCritical,
                            "",
                            actor,
                            action,
                            Advanced_Combat_Tracker.Dnum.Miss,
                            timestamp,
                            Advanced_Combat_Tracker.ActGlobals.oFormActMain.GlobalTimeSorter,
                            target,
                            "");
                    }
                    isCritical = false;
                    return;
                }

                // heal
                m = regex_heal.Match(l);
                if (m.Success)
                {
                    string target = m.Groups["target"].Success ? DecodeString(m.Groups["target"].Value) : "";

                    //          if (Advanced_Combat_Tracker.ActGlobals.oFormActMain.SetEncounter(timestamp, actor, encounter))
                    {
                        MasterSwing ms = new MasterSwing(
                            (int)Advanced_Combat_Tracker.SwingTypeEnum.Healing,
                            isCritical,
                            "",
                            new Advanced_Combat_Tracker.Dnum(int.Parse(m.Groups["damage"].Value, System.Globalization.NumberStyles.AllowThousands)),
                            timestamp,
                            Advanced_Combat_Tracker.ActGlobals.oFormActMain.GlobalTimeSorter,
                            action,
                            actor,
                            "",
                            target);

                        Advanced_Combat_Tracker.ActGlobals.oFormActMain.AddCombatAction(ms);

                        var e = false;
                        foreach (var a in Allies)
                        {
                            if (a.Name == ms.Attacker)
                            {
                                e = true;
                                break;
                            }
                        }
                        if (ms.Attacker == encounter)
                        {
                            e = true;
                        }
                        if (!e)
                        {
                            CombatantData cd = ms.ParentEncounter.GetCombatant(ms.Attacker);
                            Allies.Add(cd);
                        }
                        ms.ParentEncounter.SetAllies(Allies);
                    }

                    isCritical = false;
                    return;
                }

                // death
                m = regex_dead.Match(l);
                if (m.Success)
                {
                    string target = m.Groups["target"].Success ? DecodeString(m.Groups["target"].Value) : "";
                    //          if (Advanced_Combat_Tracker.ActGlobals.oFormActMain.SetEncounter(timestamp, actor, encounter))
                    {
                        Advanced_Combat_Tracker.ActGlobals.oFormActMain.AddCombatAction(
                            (int)Advanced_Combat_Tracker.SwingTypeEnum.Healing,
                            isCritical,
                            "",
                            actor,
                            "Death",
                            Advanced_Combat_Tracker.Dnum.Death,
                            timestamp,
                            Advanced_Combat_Tracker.ActGlobals.oFormActMain.GlobalTimeSorter,
                            target,
                            "");
                    }
                    isCritical = false;
                    return;
                }
            }
            catch (Exception ex)
            {
                string exception = ex.ToString().Replace(Environment.NewLine, " ");
                if (ex.InnerException != null)
                {
                    exception += " " + ex.InnerException.ToString().Replace(Environment.NewLine, " ");
                }

                DQX_ACT_Plugin.LogParserMessage("Error [LogParse.BeforeLogLineRead] " + exception + " " + logInfo.logLine);
            }

            // For debugging
            // if (!string.IsNullOrWhiteSpace(l))
            //   DQX_ACT_Plugin.LogParserMessage("Unhandled Line: " + logInfo.logLine);
        }
Пример #28
0
    // Start is called before the first frame update
    void Start()
    {
        panel.SetActive(false);

        DBManager dbm = new DBManager();

        skillList = dbm.GetAllSkill();
        hero      = dbm.GetHero(1);

        foreach (SkillClass i in skillList)
        {
            switch (i.id)
            {
            case 1:               //闪电链
                SDL = i;
                break;

            case 2:               //火球术
                HQS = i;
                break;

            case 3:               //暴风雪
                BFX = i;
                break;

            case 4:               //冰弹
                BD = i;
                break;

            case 5:               //火雨
                HY = i;
                break;

            case 6:               //atkup
                ATKup = i;
                break;

            case 7:               //defup
                DEFup = i;
                break;

            case 8:               //speedup
                SPDup = i;
                break;

            case 9:               //apup
                APup = i;
                break;

            default:
                break;
            }
        }
        Refresh();

        btn_save.gameObject.SetActive(false);
        btn_cancel.gameObject.SetActive(false);

        if (hero.skillPoint <= 0)
        {
            btn_addPoint.gameObject.SetActive(false);
        }
    }