Example #1
0
    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;
    }
Example #2
0
    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);
    }