Beispiel #1
0
 public ItemDefinition(uint Id, uint SpriteId, string Name, ItemType Type, ItemBehavior Behavior, int BehaviorData,
                       ItemStackingBehavior StackingBehavior, ItemWalkableMode Walkable, int RoomLimit, int SizeX, int SizeY, float Height,
                       bool AllowRecycle, bool AllowTrade, bool AllowSell, bool AllowGift, bool AllowInventoryStack)
 {
     mId                  = Id;
     mSpriteId            = SpriteId;
     mName                = Name;
     mType                = Type;
     mBehavior            = Behavior;
     mBehaviorData        = BehaviorData;
     mStackingBehavior    = StackingBehavior;
     mWalkable            = Walkable;
     mRoomLimit           = RoomLimit;
     mSizeX               = SizeX;
     mSizeY               = SizeY;
     mHeight              = Height;
     mAllowRecycle        = AllowRecycle;
     mAllowTrade          = AllowTrade;
     mAllowSell           = AllowSell;
     mAllowGift           = AllowGift;
     mAllowInventoryStack = AllowInventoryStack;
 }
Beispiel #2
0
 public ItemDefinition(uint Id, uint SpriteId, string Name, ItemType Type, ItemBehavior Behavior, int BehaviorData,
     ItemStackingBehavior StackingBehavior, ItemWalkableMode Walkable, int RoomLimit, int SizeX, int SizeY, float Height,
     bool AllowRecycle, bool AllowTrade, bool AllowSell, bool AllowGift, bool AllowInventoryStack)
 {
     mId = Id;
     mSpriteId = SpriteId;
     mName = Name;
     mType = Type;
     mBehavior = Behavior;
     mBehaviorData = BehaviorData;
     mStackingBehavior = StackingBehavior;
     mWalkable = Walkable;
     mRoomLimit = RoomLimit;
     mSizeX = SizeX;
     mSizeY = SizeY;
     mHeight = Height;
     mAllowRecycle = AllowRecycle;
     mAllowTrade = AllowTrade;
     mAllowSell = AllowSell;
     mAllowGift = AllowGift;
     mAllowInventoryStack = AllowInventoryStack;
 }
Beispiel #3
0
        public static void Initialize(SqlDatabaseClient MySqlClient)
        {
            mDefinitions = new Dictionary <uint, ItemDefinition>();

            int Count  = 0;
            int Failed = 0;

            DataTable Table = MySqlClient.ExecuteQueryTable("SELECT * FROM item_definitions");

            foreach (DataRow Row in Table.Rows)
            {
                ItemStackingBehavior Behavior = ItemStackingBehavior.Normal;

                switch (Row["stacking_behavior"].ToString().ToLower())
                {
                case "terminator":

                    Behavior = ItemStackingBehavior.Terminator;
                    break;

                case "initiator":

                    Behavior = ItemStackingBehavior.Initiator;
                    break;

                case "ignore":

                    Behavior = ItemStackingBehavior.Ignore;
                    break;

                case "disable":

                    Behavior = ItemStackingBehavior.InitiateAndTerminate;
                    break;
                }

                ItemWalkableMode WMode = ItemWalkableMode.Never;

                switch (Row["walkable"].ToString())
                {
                case "1":

                    WMode = ItemWalkableMode.Limited;
                    break;

                case "2":

                    WMode = ItemWalkableMode.Always;
                    break;
                }

                mDefinitions.Add((uint)Row["id"], new ItemDefinition((uint)Row["id"], (uint)Row["sprite_id"],
                                                                     (string)Row["name"], GetTypeFromString(Row["type"].ToString()),
                                                                     ItemBehaviorUtil.FromString((Row["behavior"].ToString())), (int)Row["behavior_data"], Behavior,
                                                                     WMode, (int)Row["room_limit"], (int)Row["size_x"], (int)Row["size_y"], (float)Row["height"],
                                                                     (Row["allow_recycling"].ToString() == "1"), (Row["allow_trading"].ToString() == "1"),
                                                                     (Row["allow_selling"].ToString() == "1"), (Row["allow_gifting"].ToString() == "1"),
                                                                     (Row["allow_inventory_stacking"].ToString() == "1")));

                Count++;
            }

            Output.WriteLine("Loaded " + Count + " item definition(s)" + (Failed > 0 ? " (" + Failed + " skipped due to errors)" : "") + ".", OutputLevel.DebugInformation);
        }