Exemple #1
0
        public void CreateRandomBonusBasedOnClass(int ClassID, string ClassModID = "")
        {
            ClassModID = MainMod.mod.Name;
            ClassBase cb = MainMod.GetClass(ClassID, ClassModID);

            if (cb.SkillList.Count == 0)
            {
                return;
            }
            ClassSkillInfo csi = cb.SkillList[Main.rand.Next(cb.SkillList.Count)];

            SkillID         = csi.SkillID;
            SkillModID      = csi.SkillMod;
            SkillLevelBonus = Main.rand.Next(1, MaxSkillLevelBonus + 1);
        }
Exemple #2
0
 public void ResetSkill(ClassSkillInfo csi)
 {
     for (int s = 0; s < Skills.Count; s++)
     {
         if (Skills[s].ID == csi.SkillID && Skills[s].ModID == csi.SkillMod)
         {
             int LevelsToRemove = Skills[s].RealLevel - csi.FreeLevel;
             if (LevelsToRemove > 0)
             {
                 Skills[s].RealLevel -= LevelsToRemove;
                 SkillPoint          += LevelsToRemove;
                 return;
             }
         }
     }
 }
Exemple #3
0
        public int AddSkill(int ID, string ModID = "", int FreeLevel = 0)
        {
            if (ModID == "")
            {
                ModID = "TerraClasses";
            }
            ClassSkillInfo csi = new ClassSkillInfo()
            {
                SkillID   = ID,
                SkillMod  = ModID,
                FreeLevel = FreeLevel
            };
            int SkillPos = SkillList.Count;

            SkillList.Add(csi);
            return(SkillPos);
        }
Exemple #4
0
        public void AddRequirement(int SkillPosition, int SkillLevel)
        {
            if (SkillList.Count == 0)
            {
                return;
            }
            ClassSkillInfo csi = SkillList[SkillList.Count - 1];

            for (int i = 0; i < 3; i++)
            {
                if (csi.SkillReqPosition[i] == -1)
                {
                    csi.SkillReqPosition[i] = SkillPosition;
                    csi.SkillLevel[i]       = SkillLevel;
                    return;
                }
            }
        }
Exemple #5
0
        public void ResetSkill(int SkillID, string SkillModID = "")
        {
            if (SkillModID == "")
            {
                SkillModID = MainMod.mod.Name;
            }
            ClassBase      cb  = GetClass;
            ClassSkillInfo csi = null;

            for (int cs = 0; cs < cb.SkillList.Count; cs++)
            {
                if (cb.SkillList[cs].SkillID == SkillID && cb.SkillList[cs].SkillMod == SkillModID)
                {
                    csi = cb.SkillList[cs];
                    break;
                }
            }
            if (csi == null)
            {
                return;
            }
            ResetSkill(csi);
        }