Exemplo n.º 1
0
 /// <summary>
 /// Create a weapon of the specified type and class
 /// </summary>
 /// <param name="iClass"></param>
 /// <param name="iType"></param>
 /// <returns></returns>
 public static DmItemAbstract CreateItem( DmItemTypeWeaponClass iClass, DmItemTypeWeaponType iType )
 {
     return CreateWeapon( iClass, iType );
 }
Exemplo n.º 2
0
        public DmItemWeaponAbstract( object iType, object iClass, object iName )
            : base(iName)
        {
            itemName = iName;
              itemClass = iClass;
              itemSubType = iType;
              WeaponType = (DmItemTypeWeaponType)iType;
              WeaponClass = (DmItemTypeWeaponClass)iClass;

              baseItemType = DmItemType.Weapon;
        }
Exemplo n.º 3
0
        /// <summary>
        /// Create a weapon of the specified type (simple, martial, exotic / melee, ranged)
        /// </summary>
        /// <returns></returns>
        private static DmItemAbstract CreateWeapon( DmItemTypeWeaponClass iClass, DmItemTypeWeaponType iType )
        {
            DmItemAbstract item = null;

              switch( iClass )
              {
            case DmItemTypeWeaponClass.Simple:
              switch( iType )
              {
            case DmItemTypeWeaponType.Melee:
              item = CreateWeaponMeleeSimple();
              break;

            case DmItemTypeWeaponType.Ranged:
              item = CreateWeaponRangedSimple();
              break;

            case DmItemTypeWeaponType.Ammo:
              item = CreateWeaponAmmoSimple();
              break;
              }
              break;

            case DmItemTypeWeaponClass.Martial:
              switch( iType )
              {
            case DmItemTypeWeaponType.Melee:
              item = CreateWeaponMeleeSimple();
              break;

            case DmItemTypeWeaponType.Ranged:
              item = CreateWeaponRangedSimple();
              break;

            case DmItemTypeWeaponType.Ammo:
              item = CreateWeaponAmmoMartial();
              break;
              }
              break;

            case DmItemTypeWeaponClass.Exotic:
              switch( iType )
              {
            case DmItemTypeWeaponType.Melee:
              item = CreateWeaponMeleeSimple();
              break;

            case DmItemTypeWeaponType.Ranged:
              item = CreateWeaponRangedSimple();
              break;

            case DmItemTypeWeaponType.Ammo:
              item = CreateWeaponAmmoExotic();
              break;
              }
              break;
              }

              // in case something didn't go right, and item didnt get set
              if( item == null )
            item = CreateWeaponMeleeSimple();

              // set quality
              item.Quality = PickQuality();

              // check for enchantments
              if( item.Quality == DmItemQuality.Masterwork )
            if( rand.Next( 100 ) > 50 )
              item.Enchantment = PickEnchantmentArmor();

              // return the created item
              return item;
        }