public Item(ItemCode code, ItemCatag type,
                    Func <RandomGenerator, Character, Character, bool> action)
        {
            this.code     = code;
            this.catagory = type;

            this.action = action;
        }
        //      private Func<Character, Character, bool> action;

        public Consumable(ItemCode id, ItemCatag type,
                          TargetType targetType,
                          uint spNeed,
                          ActionType actType,
                          Func <RandomGenerator, Character, Character, bool> action)
            : base(id, type, action)
        {
            this.spNeed     = spNeed;
            this.type       = actType;
            this.targetType = targetType;
        }
        //      private Func<Character, Character, bool> action;

        public Equipment(ItemCode id, ItemCatag type,
                         EquipType equipType,
                         WeaponType weaponType,
                         List <Tuple <StatType, ushort> > reqStat,
                         List <Tuple <StatType, ushort> > plusStat,
                         List <Tuple <ParamType, uint> > plusParam,
                         Func <RandomGenerator, Character, Character, bool> action)
            : base(id, type, action)
        {
            this.equipType  = equipType;
            this.weaponType = weaponType;
            this.reqStat    = reqStat;
            this.plusStat   = plusStat;
            this.plusParam  = plusParam;
        }