private Dictionary <int, MeleeWeaponTemplate> GetMeleeWeaponTemplates( IDbConnection connection, Dictionary <int, BaseSkill> baseSkillMap) { Dictionary <int, MeleeWeaponTemplate> factionWeaponTemplateMap = new Dictionary <int, MeleeWeaponTemplate>(); IDbCommand command = connection.CreateCommand(); command.CommandText = "SELECT * FROM MeleeWeaponTemplate"; var reader = command.ExecuteReader(); while (reader.Read()) { int id = reader.GetInt32(0); string name = reader[1].ToString(); int location = reader.GetInt32(2); int baseSkillId = reader.GetInt32(3); float accuracy = (float)reader[4]; float armorMultiplier = (float)reader[5]; float woundMultiplier = (float)reader[6]; float requiredStrength = (float)reader[7]; float strengthMultiplier = (float)reader[8]; float extraDamage = (float)reader[9]; float parryMod = (float)reader[10]; float extraAttacks = (float)reader[11]; BaseSkill baseSkill = baseSkillMap[baseSkillId]; MeleeWeaponTemplate weaponTemplate = new MeleeWeaponTemplate(id, name, (EquipLocation)location, baseSkill, accuracy, armorMultiplier, woundMultiplier, requiredStrength, strengthMultiplier, extraDamage, parryMod, extraAttacks); factionWeaponTemplateMap[id] = weaponTemplate; } return(factionWeaponTemplateMap); }
} //The template that defines the weapon's base properties //Constructor public MeleeWeapon(WeaponHolder weaponHolder, MeleeWeaponTemplate template) : base(weaponHolder, template) { m_meleeTemplate = template; }