static WeaponProperties GetWeaponProperties(WeaponDto weaponDto) { WeaponProperties result = WeaponProperties.None; if (MathUtils.IsChecked(weaponDto.Ammo)) { result |= WeaponProperties.Ammunition; } if (MathUtils.IsChecked(weaponDto.Finesse)) { result |= WeaponProperties.Finesse; } if (MathUtils.IsChecked(weaponDto.Heavy)) { result |= WeaponProperties.Heavy; } if (MathUtils.IsChecked(weaponDto.Light)) { result |= WeaponProperties.Light; } if (MathUtils.IsChecked(weaponDto.Martial)) { result |= WeaponProperties.Martial; } if (MathUtils.IsChecked(weaponDto.Melee)) { result |= WeaponProperties.Melee; } if (MathUtils.IsChecked(weaponDto.Ranged)) { result |= WeaponProperties.Ranged; } if (MathUtils.IsChecked(weaponDto.Reach)) { result |= WeaponProperties.Reach; } if (MathUtils.IsChecked(weaponDto.Special)) { result |= WeaponProperties.Special; } if (MathUtils.IsChecked(weaponDto.Thrown)) { result |= WeaponProperties.Thrown; } if (MathUtils.IsChecked(weaponDto.TwoHanded)) { result |= WeaponProperties.TwoHanded; } if (MathUtils.IsChecked(weaponDto.Versatile)) { result |= WeaponProperties.Versatile; } return(result); }
public static Weapon From(WeaponDto weaponDto) { Weapon weapon = new Weapon(); weapon.normalRange = MathUtils.GetInt(weaponDto.Range); weapon.disadvantageRange = MathUtils.GetInt(weaponDto.DisadvantageRange); weapon.weaponProperties = GetWeaponProperties(weaponDto); weapon.costValue = DndUtils.GetGoldPieces(weaponDto.Cost); weapon.damageOneHanded = weaponDto.DamageOneHanded; weapon.damageTwoHanded = weaponDto.DamageTwoHanded; weapon.Name = weaponDto.Name; return(weapon); }