public Weapon(ItemTemplate template, ItemRarity rarity) : base(template, rarity) { Type = template.Type; ItemDice = _weaponBaseDamageValues[rarity]; Range = template.Range; MultiSlot = template.MultiSlot; //todo determine aoe by properties //Example gas property = cloud aoe if (template.Properties != null && template.Properties.Contains("aoe")) { AOE = AOEStore.GetAOEByType(AoeType.Blast); AOEType = AoeType.Blast; } IsRanged = Range > 1; }
public static Weapon ConvertToWeapon(WeaponSdo sdo) { var weapon = new Weapon(); weapon.Type = sdo.Type; weapon.Range = sdo.Range; weapon.Rarity = sdo.Rarity; weapon.EquipmentSlotType = sdo.EquipmentSlotType; weapon.EquipmentSlots = sdo.EquipmentSlots; weapon.ItemType = sdo.ItemType; weapon.ItemCategory = sdo.ItemCategory; weapon.Id = sdo.Id; weapon.ItemDice = sdo.ItemDice; weapon.ItemName = sdo.ItemName; weapon.Properties = sdo.Properties; if (sdo.AOEType != null) { weapon.AOE = AOEStore.GetAOEByType((AoeType)sdo.AOEType); } return(weapon); }