public bool ClassLevelInfoAvailable(Common.strClassLevelInfoProps parCLI)
        {
            ClassLevelInfo objCLI = new ClassLevelInfo();

            objCLI.GetClassLevel(objSelectedClass.ClassID, ClassLevel);

            bool returnVal = false;

            switch (parCLI)
            {
            case Common.strClassLevelInfoProps.Talent:
                if (objCLI.Talent == 1)
                {
                    returnVal = true;
                }
                else
                {
                    returnVal = false;
                }
                break;

            case Common.strClassLevelInfoProps.BonusFeat:
                if (objCLI.BonusFeat == 1)
                {
                    returnVal = true;
                }
                else
                {
                    returnVal = false;
                }
                break;

            case Common.strClassLevelInfoProps.ForceSecret:
                if (objCLI.ForceSecret == 1)
                {
                    returnVal = true;
                }
                else
                {
                    returnVal = false;
                }
                break;

            case Common.strClassLevelInfoProps.ForceTechnique:
                if (objCLI.ForceTechnique == 1)
                {
                    returnVal = true;
                }
                else
                {
                    returnVal = false;
                }
                break;

            default:
                break;
            }

            return(returnVal);
        }
Esempio n. 2
0
        public void Test_IsClassInList_ListClassLevelParam_BadResult()
        {
            bool           blnIsInList = false;
            ClassLevelInfo objClassLI  = new ClassLevelInfo();
            ClassLevelInfo objClassLI2 = new ClassLevelInfo();

            ClassLevelInfo objClassLI3 = new ClassLevelInfo();
            ClassLevelInfo objClassLI4 = new ClassLevelInfo();

            List <ClassLevelInfo> lstClassLI  = new List <ClassLevelInfo>();
            List <ClassLevelInfo> lstClassLI2 = new List <ClassLevelInfo>();

            objClassLI.GetClassLevel(1);
            objClassLI2.GetClassLevel(2);

            objClassLI3.GetClassLevel(3);
            objClassLI4.GetClassLevel(4);

            lstClassLI.Add(objClassLI);
            lstClassLI.Add(objClassLI2);

            lstClassLI2.Add(objClassLI3);
            lstClassLI2.Add(objClassLI4);

            blnIsInList = ClassLevelInfo.IsClassInList(lstClassLI, lstClassLI2);

            Assert.IsFalse(blnIsInList);
        }
Esempio n. 3
0
        public void Test_GetClassLevelInfo_ByID_BadResult()
        {
            int            ClassLevelID      = 0;
            ClassLevelInfo objClassLevelInfo = new ClassLevelInfo();

            objClassLevelInfo.GetClassLevel(ClassLevelID);

            Assert.IsNull(objClassLevelInfo.Class);
        }
Esempio n. 4
0
        public void Test_GetClassLevelInfo_ByID_GoodResult()
        {
            int            ClassLevelID      = 1;
            ClassLevelInfo objClassLevelInfo = new ClassLevelInfo();

            objClassLevelInfo.GetClassLevel(ClassLevelID);

            Assert.AreEqual(ClassLevelID, objClassLevelInfo.ClassLevelID);
        }
Esempio n. 5
0
        public void Test_GetClassLevelInfo_ByClassIDClassLevel_BadResult()
        {
            int            ClassID           = 0;
            int            ClassLevel        = 1;
            ClassLevelInfo objClassLevelInfo = new ClassLevelInfo();

            objClassLevelInfo.GetClassLevel(ClassID, ClassLevel);

            Assert.IsNull(objClassLevelInfo.Class);
        }
Esempio n. 6
0
        public void Test_GetClassLevelInfos_WithOutOrderBy_NoResult()
        {
            string strWhere   = "ClassID=0 and ClassLevel in (1,2,3)";
            string strOrderBy = "";

            ClassLevelInfo        objClassLevelInfo  = new ClassLevelInfo();
            List <ClassLevelInfo> lstClassLevelInfos = new List <ClassLevelInfo>();

            lstClassLevelInfos = objClassLevelInfo.GetClassLevels(strWhere, strOrderBy);

            Assert.IsTrue(lstClassLevelInfos.Count == 0);
        }
Esempio n. 7
0
        public void Test_IsClassInList_SingleClassLevelParam_GoodResult()
        {
            bool                  blnIsInList = false;
            ClassLevelInfo        objClassLI  = new ClassLevelInfo();
            List <ClassLevelInfo> lstClassLI  = new List <ClassLevelInfo>();

            objClassLI.GetClassLevel(1);
            lstClassLI.Add(objClassLI);

            blnIsInList = ClassLevelInfo.IsClassInList(objClassLI, lstClassLI);

            Assert.IsTrue(blnIsInList);
        }
        private void btnCommitChanges_Click(object sender, EventArgs e)
        {
            //Save Class Level
            CharacterClassLevel objNewCL = new CharacterClassLevel();

            objNewCL.ClassID     = objCALC.objSelectedClass.ClassID;
            objNewCL.ClassLevel  = objCALC.ClassLevel;
            objNewCL.CharacterID = objCALC.objCharacter.CharacterID;
            objNewCL.SaveCharacterClassLevel();

            //Update New Character Level
            objCALC.objCharacter.CharacterLevelID = objCALC.objNewCharLevel.CharacterLevelID;

            //Add Talent
            if (objCALC.objSelectedTalent.TalentName != null)
            {
                objCALC.objSelectedTalent.SaveCharacterTalent(objCALC.objCharacter.CharacterID, objCALC.objSelectedTalent.TalentID);
            }

            //Add objAbility1Modified
            if (objCALC.objAbility1Modified.AbilityName != null)
            {
                Ability.IncreaseCharacterAbility(objCALC.objAbility1Modified.AbilityID, 1, ref objCALC.objCharacter);
            }

            //Add objAbility2Modified
            if (objCALC.objAbility2Modified.AbilityName != null)
            {
                Ability.IncreaseCharacterAbility(objCALC.objAbility2Modified.AbilityID, 1, ref objCALC.objCharacter);
            }

            //Add Bonus Feat
            if (objCALC.objBonusFeat.FeatName != null)
            {
                objCALC.objBonusFeat.SaveCharacterFeat(objCALC.objCharacter.CharacterID, objCALC.objBonusFeat.FeatID);
            }

            //Add Level Feat
            if (objCALC.objCharLevelFeat.FeatName != null)
            {
                objCALC.objCharLevelFeat.SaveCharacterFeat(objCALC.objCharacter.CharacterID, objCALC.objCharLevelFeat.FeatID);
            }

            //Add Starting Feat
            if (objCALC.lstStartingFeat.Count > 0)
            {
                foreach (Feat objSF in objCALC.lstStartingFeat)
                {
                    objSF.SaveCharacterFeat(objCALC.objCharacter.CharacterID, objSF.FeatID);
                }
            }

            //Add Force Powers
            if (objCALC.lstNewForcePowers.Count > 0)
            {
                foreach (ForcePower objFP in objCALC.lstNewForcePowers)
                {
                    objFP.SaveCharacterForcePower(objCALC.objCharacter.CharacterID, objFP.ForcePowerID);
                }
            }

            //Add Character Skill
            if (objCALC.lstNewSkills.Count > 0)
            {
                foreach (CharacterSkill objCS in objCALC.lstNewSkills)
                {
                    objCS.AbilityMod = Ability.GetAbilityMod(objCS.objSkill.objAbility.AbilityID, objCALC.objCharacter);
                    objCS.HalfLevel  = objCALC.objCharacter.CharacterLevelID / 2;
                    if (CharacterSkill.DoesCharacterHaveSkillFocusForSkill(objCS.objSkill.SkillID, objCALC.objCharacter))
                    {
                        objCS.SkillFocus = 5;
                    }
                    else
                    {
                        objCS.SkillFocus = 0;
                    }
                    objCS.Trained       = 5; //Added a skill, don't check the skill training Feat
                    objCS.Miscellaneous = 0;
                    objCS.CharacterID   = objCALC.objCharacter.CharacterID;
                    objCS.SaveCharacterSkill();
                }
            }

            if (objCALC.objForceSecret.ForceSecretName != null)
            {
                //save character force secret
                objCALC.objForceSecret.SaveCharacterForceSecret(objCALC.objCharacter.CharacterID);
            }

            if (objCALC.objForceTechnique.ForceTechniqueName != null)
            {
                //save character force secret
                objCALC.objForceTechnique.SaveCharacterForceTechnique(objCALC.objCharacter.CharacterID);
            }

            //Add Languages
            if (objCALC.lstLanguages.Count > 0)
            {
                foreach (Language objLan in objCALC.lstLanguages)
                {
                    objLan.SaveCharacterLanguage(objCALC.objCharacter.CharacterID, objLan.LanguageID);
                }
            }

            //Now that we have added a Character Level's objects, we need to update the character.
            //Hit Points

            Ability objAbility = new Ability("Constitution");
            Die     objDie     = new Die(objCALC.objSelectedClass.HitDieType);

            objCALC.objCharacter.HitPoints = objCALC.objCharacter.HitPoints + objDie.GenerateRandomNumber() + objCALC.objCharacter.GetCharacterAbilityModifier(objAbility);

            //Base Attack
            ClassLevelInfo objCLI = new ClassLevelInfo();

            objCLI.GetClassLevel(objCALC.objSelectedClass.ClassID, objCALC.ClassLevel);
            objCALC.objCharacter.BaseAttack = objCALC.objCharacter.BaseAttack + objCLI.BaseAttack;

            //Grapple

            //Skill Increase

            //Defense Modifications

            //Weapon To hit / Damage

            //Damage Thresold

            //Reset force points

            //Increase Destiny Points ?
        }