/// <summary> /// Sets the reader to object. /// </summary> /// <param name="objTalent">The object talent.</param> /// <param name="result">The result.</param> private void SetReaderToObject(ref Talent objTalent, ref SqlDataReader result) { if (result.HasRows) { objTalent.TalentID = (int)result.GetValue(result.GetOrdinal("TalentID")); objTalent.TalentName = result.GetValue(result.GetOrdinal("TalentName")).ToString(); objTalent.TalentDescription = result.GetValue(result.GetOrdinal("TalentDescription")).ToString(); objTalent.TalentTreeID = (int)result.GetValue(result.GetOrdinal("TalentTreeID")); objTalent.MultipleSelection = (int)result.GetValue(result.GetOrdinal("MultipleSelection")); objTalent.BookID = (int)result.GetValue(result.GetOrdinal("BookID")); objTalent.TalentSpecial = result.GetValue(result.GetOrdinal("TalentSpecial")).ToString(); objTalent._objComboBoxData.Add(objTalent.TalentID, objTalent.TalentName); TurnSegment objTurnSegment = new TurnSegment(); if (!(objTurnSegment.TurnSegmentID == 0)) { objTurnSegment.GetTurnSegment(this.TurnSegmentID); } objTalent.objTurnSegment = objTurnSegment; Talent objPreTalent = new Talent(); objTalent.objPrerequsiteTalent = objPreTalent.GetPrerequisteTalents(" otmTalentPrerequisteTalent.TalentID=" + objTalent.TalentID.ToString(), "TalentName"); TalentPrerequisteAbility objTalentPrerequisteAbility = new TalentPrerequisteAbility(); objTalent.objTalentPrerequisteAbility = objTalentPrerequisteAbility.GetTalentPrerequisteAbilities("TalentID=" + objTalent.TalentID.ToString(), ""); Skill objSkill = new Skill(); objTalent.objTalentPrerequsiteSkill = objSkill.GetTalentRequiredSkills("TalentID=" + objTalent.TalentID.ToString(), ""); Feat objFeat = new Feat(); objTalent.objTalentPrerequsiteFeat = objFeat.GetTalentPrerequisiteFeats("TalentID=" + objTalent.TalentID.ToString(), ""); ForcePower objPreForcePower = new ForcePower(); objTalent.objTalentPrerequisteForcePower = objPreForcePower.GetTalentPrequisteForcePowers("TalentID=" + objTalent.TalentID.ToString(), ""); BaseAttack objBaseAttack = new BaseAttack(); objTalent.objBaseAttackPrerequisite = objBaseAttack.GetFeatPrequisiteBaseAttackBonus(objTalent.TalentID); } }
/// <summary> /// Sets the reader to object. /// </summary> /// <param name="objTalentTree">The object talent tree.</param> /// <param name="result">The result.</param> private void SetReaderToObject(ref TalentTree objTalentTree, ref SqlDataReader result) { if (result.HasRows) { objTalentTree.TalentTreeID = (int)result.GetValue(result.GetOrdinal("TalentTreeID")); objTalentTree.ForceTalent = (bool)result.GetValue(result.GetOrdinal("ForceTalent")); objTalentTree.TalentTreeName = result.GetValue(result.GetOrdinal("TalentTreeName")).ToString(); Talent objTalent = new Talent(); Race objRace = new Race(); TalentTreeRequirement objTalentTreeRequirement = new TalentTreeRequirement(); objTalentTree.objTalentTreeTalents = objTalent.GetTreeTalents("otmTalentTreeTalent.TalentTreeID=" + objTalentTree.TalentTreeID.ToString(), ""); objTalentTree.objTalentTreeRaceRequirement = objRace.GetRaceRequirementForTalentTree("TalentTreeID=" + objTalentTree.TalentTreeID.ToString(), " RaceName"); objTalentTree.objTalentTreeRequirement = objTalentTreeRequirement.GetTalentTreeTalentTreeRequirements("TalentTreeID=" + objTalentTree.TalentTreeID.ToString(), " TalentTreeRequirementDescription "); objTalentTree._objComboBoxData.Add(objTalentTree.TalentTreeID, objTalentTree.TalentTreeName); } }
/// <summary> /// Gets the talent list. /// </summary> /// <param name="strSprocName">Name of the string sproc.</param> /// <param name="strWhere">The string where.</param> /// <param name="strOrderBy">The string order by.</param> /// <returns>list of Talent objects</returns> private List <Talent> GetTalentList(string strSprocName, string strWhere, string strOrderBy) { List <Talent> talents = new List <Talent>(); SqlDataReader result; DatabaseConnection dbconn = new DatabaseConnection(); SqlCommand command = new SqlCommand(); SqlConnection connection = new SqlConnection(dbconn.SQLSEVERConnString); try { connection.Open(); command.Connection = connection; command.CommandType = CommandType.StoredProcedure; command.CommandText = strSprocName; command.Parameters.Add(dbconn.GenerateParameterObj("@strWhere", SqlDbType.VarChar, strWhere, 1000)); command.Parameters.Add(dbconn.GenerateParameterObj("@strOrderBy", SqlDbType.VarChar, strOrderBy, 1000)); result = command.ExecuteReader(); while (result.Read()) { Talent objTalent = new Talent(); SetReaderToObject(ref objTalent, ref result); talents.Add(objTalent); } } catch { Exception e = new Exception(); throw e; } finally { command.Dispose(); connection.Close(); } return(talents); }
/// <summary> /// Saves the ClassLevelInfo. /// </summary> /// <returns>ClassLevelInfo Object</returns> public ClassLevelInfo SaveClassLevelInfo() { SqlDataReader result; DatabaseConnection dbconn = new DatabaseConnection(); SqlCommand command = new SqlCommand(); SqlConnection connection = new SqlConnection(dbconn.SQLSEVERConnString); try { connection.Open(); command.Connection = connection; command.CommandType = CommandType.StoredProcedure; command.CommandText = "InsertUpdate_ClassLevel"; command.Parameters.Add(dbconn.GenerateParameterObj("@ClassLevelID", SqlDbType.Int, ClassLevelID.ToString(), 0)); command.Parameters.Add(dbconn.GenerateParameterObj("@ClassID", SqlDbType.Int, ClassID.ToString(), 0)); command.Parameters.Add(dbconn.GenerateParameterObj("@ClassLevel", SqlDbType.Int, ClassLevel.ToString(), 0)); command.Parameters.Add(dbconn.GenerateParameterObj("@BonusFeat", SqlDbType.Int, BonusFeat.ToString(), 0)); command.Parameters.Add(dbconn.GenerateParameterObj("@Talent", SqlDbType.Int, Talent.ToString(), 0)); command.Parameters.Add(dbconn.GenerateParameterObj("@BaseAttack", SqlDbType.Int, BaseAttack.ToString(), 0)); command.Parameters.Add(dbconn.GenerateParameterObj("@ForcePointBase", SqlDbType.Int, ForcePointBase.ToString(), 0)); command.Parameters.Add(dbconn.GenerateParameterObj("@ForceTechnique", SqlDbType.Int, ForceTechnique.ToString(), 0)); command.Parameters.Add(dbconn.GenerateParameterObj("@ForceSecret", SqlDbType.Int, ForceSecret.ToString(), 0)); command.Parameters.Add(dbconn.GenerateParameterObj("@MedicalSecret", SqlDbType.Int, MedicalSecret.ToString(), 0)); result = command.ExecuteReader(); result.Read(); SetReaderToObject(ref result); } catch { Exception e = new Exception(); this._insertUpdateOK = false; this._insertUpdateMessage.Append(e.Message + " Inner Exception= " + e.InnerException); throw e; } finally { command.Dispose(); connection.Close(); } return(this); }
static public bool FeatOrConditionsMeet(Character objChar, Feat objFeat) { bool returnVal = false; List <FeatPrereqORCondition> lstFPORCond = new List <FeatPrereqORCondition>(); FeatPrereqORCondition objFPORCond = new FeatPrereqORCondition(); List <Talent> lstORTalents = new List <Talent>(); List <Feat> lstORFeats = new List <Feat>(); List <Race> lstORRaces = new List <Race>(); List <TalentTalentTreeRequirement> lstORTalentTrees = new List <TalentTalentTreeRequirement>(); List <TalentAbilityRequirement> lstORAbility = new List <TalentAbilityRequirement>(); List <Skill> lstORSkill = new List <Skill>(); lstFPORCond = objFPORCond.GetFeatPrereqORConditions(objFeat.FeatID); if (lstFPORCond.Count == 0) { returnVal = true; } else { foreach (FeatPrereqORCondition objOrCond in lstFPORCond) { if (objOrCond.FeatRequirementID != 0) { Feat objFR = new Feat(); objFR.GetFeat(objOrCond.FeatRequirementID); lstORFeats.Add(objFR); } if (objOrCond.TalentID != 0) { Talent objTalent = new Talent(); objTalent.GetTalent(objOrCond.TalentID); lstORTalents.Add(objTalent); } if (objOrCond.RaceID != 0) { Race objRace = new Race(); objRace.GetRace(objOrCond.RaceID); lstORRaces.Add(objRace); } if (objOrCond.TalentTreeID != 0) { TalentTalentTreeRequirement objTTTR = new TalentTalentTreeRequirement(); objTTTR.TalentTreeID = objOrCond.TalentTreeID; objTTTR.TalentTreeTalentQuantity = objOrCond.TalentTreeTalentQuantity; lstORTalentTrees.Add(objTTTR); } if (objOrCond.AbilityID != 0) { TalentAbilityRequirement objTAR = new TalentAbilityRequirement(); objTAR.AbilityID = objOrCond.AbilityID; objTAR.AbilityMinium = objOrCond.AbilityMinimum; lstORAbility.Add(objTAR); } if (objOrCond.SkillID != 0) { Skill objSkill = new Skill(); objSkill.GetSkill(objOrCond.SkillID); lstORSkill.Add(objSkill); } } //Got all the lists full, have to check to see if the character has ANY of these, if they do then we jump out and are done //Talent bool blnTalentFound = false; foreach (Talent objSearchTalent in lstORTalents) { if (Talent.IsTalentInList(objSearchTalent, objChar.lstTalents)) { blnTalentFound = true; } } if (blnTalentFound) { return(blnTalentFound); } //Feat bool blnFeatFound = false; foreach (Feat objSearchFeat in lstORFeats) { if (Feat.IsFeatInList(objSearchFeat, objChar.lstFeats)) { blnFeatFound = true; } } if (blnFeatFound) { return(blnFeatFound); } //Race bool blnRaceFound = false; foreach (Race objSearchRace in lstORRaces) { if (objSearchRace.RaceID == objChar.RaceID) { blnRaceFound = true; } } if (blnRaceFound) { return(blnRaceFound); } //TalentTree talents (Has x number of talents in a particular tree bool blnTalentTreeQuantityFound = false; foreach (Talent objSearchTalent in lstORTalents) { if (Talent.IsTalentInList(objSearchTalent, objChar.lstTalents)) { blnTalentTreeQuantityFound = true; } } if (blnTalentTreeQuantityFound) { return(blnTalentTreeQuantityFound); } //Ability bool blnAbilityFound = false; foreach (TalentAbilityRequirement objSearchAbility in lstORAbility) { if (Ability.AblityRequirementMet(objSearchAbility.AbilityID, objSearchAbility.AbilityMinium, objChar)) { blnAbilityFound = true; } } if (blnTalentTreeQuantityFound) { return(blnAbilityFound); } //public int SkillID { get; set; } //Race bool blnSkillFound = false; foreach (Skill objSearchSkill in lstORSkill) { if (CharacterSkill.IsSkillInList(objSearchSkill, objChar.lstCharacterSkills)) { blnSkillFound = true; } } if (blnSkillFound) { return(blnSkillFound); } } //went thru everything, nothing found return false; return(returnVal); }
/// <summary> /// Clones the specified object Talent. /// </summary> /// <param name="objTalent">The object Talent.</param> /// <returns>Talent</returns> static public Talent Clone(Talent objTalent) { Talent objCTalent = new Talent(objTalent.TalentID); return(objCTalent); }
/// <summary> /// Sets the reader to object. /// </summary> /// <param name="objClass">The object class.</param> /// <param name="result">The result.</param> private void SetReaderToObject(ref Class objClass, ref SqlDataReader result) { if (result.HasRows) { objClass.ClassID = (int)result.GetValue(result.GetOrdinal("ClassID")); objClass.IsPrestige = (bool)result.GetValue(result.GetOrdinal("IsPrestige")); objClass.ClassName = result.GetValue(result.GetOrdinal("ClassName")).ToString(); objClass.HitDieType = (int)result.GetValue(result.GetOrdinal("HitDieType")); objClass.StartingSkillNumber = (int)result.GetValue(result.GetOrdinal("StartingSkillNumber")); if (!string.IsNullOrEmpty(result.GetValue(result.GetOrdinal("StartingSkills")).ToString())) { objClass.StartingSkills = (int)result.GetValue(result.GetOrdinal("StartingSkills")); } if (!string.IsNullOrEmpty(result.GetValue(result.GetOrdinal("StartCreditDie")).ToString())) { objClass.StartCreditDie = (int)result.GetValue(result.GetOrdinal("StartCreditDie")); } if (!string.IsNullOrEmpty(result.GetValue(result.GetOrdinal("StartCreditDieNumber")).ToString())) { objClass.StartCreditDieNumber = (int)result.GetValue(result.GetOrdinal("StartCreditDieNumber")); } if (!string.IsNullOrEmpty(result.GetValue(result.GetOrdinal("StartCreditDieModifier")).ToString())) { objClass.StartCreditDieModifier = (int)result.GetValue(result.GetOrdinal("StartCreditDieModifier")); } if (!string.IsNullOrEmpty(result.GetValue(result.GetOrdinal("PrestigeRequiredTalents")).ToString())) { objClass.PrestigeRequiredTalents = (int)result.GetValue(result.GetOrdinal("PrestigeRequiredTalents")); } if (!string.IsNullOrEmpty(result.GetValue(result.GetOrdinal("PrestigeRequiredForceTech")).ToString())) { objClass.PrestigeRequiredForceTech = (bool)result.GetValue(result.GetOrdinal("PrestigeRequiredForceTech")); } if (!string.IsNullOrEmpty(result.GetValue(result.GetOrdinal("PrestigeRequiredDarkside")).ToString())) { objClass.PrestigeRequiredDarkside = (bool)result.GetValue(result.GetOrdinal("PrestigeRequiredDarkside")); } if (!string.IsNullOrEmpty(result.GetValue(result.GetOrdinal("PrestigeRequiredFeats")).ToString())) { objClass.PrestigeRequiredFeats = (int)result.GetValue(result.GetOrdinal("PrestigeRequiredFeats")); } if (!string.IsNullOrEmpty(result.GetValue(result.GetOrdinal("PrestigeRequiredBaseAttack")).ToString())) { objClass.PrestigeRequiredBaseAttack = (int)result.GetValue(result.GetOrdinal("PrestigeRequiredBaseAttack")); } if (!string.IsNullOrEmpty(result.GetValue(result.GetOrdinal("PrestigeRequiredLevel")).ToString())) { objClass.PrestigeRequiredLevel = (int)result.GetValue(result.GetOrdinal("PrestigeRequiredLevel")); } objClass._objComboBoxData.Clear(); objClass._objComboBoxData.Add(objClass.ClassID, objClass.ClassName); } if (objClass.IsPrestige) { Feat objFeat = new Feat();; ClassDefenseType objClassDefenseTypes = new ClassDefenseType(); PrestigeRequirement objPrestigeRequirement = new PrestigeRequirement(); TalentTree objTalentTree = new TalentTree(); Talent objTalent = new Talent(); ForcePower objForcePower = new ForcePower(); Skill objSkill = new Skill(); Race objRace = new Race(); objClass.StartingFeats = objFeat.GetStartingFeats(" ClassID=" + objClass.ClassID.ToString(), "FeatName"); objClass.objClassDefenseTypes = objClassDefenseTypes.GetClassDefenseTypes(" ClassID=" + objClass.ClassID.ToString(), ""); objClass.objPrestigeRequirement = objPrestigeRequirement.GetPrestigeRequirementPrestigeClass(" ClassID=" + objClass.ClassID.ToString(), "PrestigeRequirementDescription"); objClass.objPrestigeRequiredTalentTree = objTalentTree.GetTalentTreesPrestigeClass("ClassID=" + objClass.ClassID.ToString(), "TalentTreeName"); objClass.objPrestigeRequiredTalents = objTalent.GetPrestigeRequiredTalents("ClassID=" + objClass.ClassID.ToString(), "TalentName"); objClass.objPrestigeRequiredFeats = objFeat.GetPrestigeRequiredFeats(" ClassID=" + objClass.ClassID.ToString(), "FeatName"); objClass.objPrestigeRequiredFeatGroup = objFeat.GetPrestigeRequiredFeatGroups(" ClassID=" + objClass.ClassID.ToString(), "FeatName"); objClass.objPrestigeRequiredForcePowers = objForcePower.GetPrestigeRequiredForcePowers(" ClassID=" + objClass.ClassID.ToString(), "ForcePowerName"); objClass.objPrestigeRequiredSkills = objSkill.GetPrestigeRequiredSkills(" ClassID=" + objClass.ClassID.ToString(), "SkillName"); objClass.objPrestigeRequiredRaces = objRace.GetRaceRequirementForClass(" mtmPrestigeRequirementClassRace.ClassID=" + objClass.ClassID.ToString(), "RaceName"); } }