All pastes #567958 Raw Edit

Unnamed

public text v1 · immutable
·published 2007-06-15 06:19 UTC
rendered paste body
using System;
using System.Collections.Generic;
using System.Text;

using D2Data;
using D2Packets;

namespace Chief
{
    public class Item
    {
        public ItemActionType Action;
        public BaseItem BaseItem;
        public ItemCategory Category;
        public CharacterClass Class;
        public ItemContainer Container;
        public ItemDestination Destination;
        public ItemFlags Flags;
        public int Level;
        public EquipmentLocation Location;
        public List<MagicPrefixType> MagicPrefix;
        public List<MagicSuffixType> MagicSuffix;
        public List<StatBase> Mods;
        public string Name;
        public ItemAffix Prefix;
        public ItemQuality Quality;
        public BaseRuneword Runeword;
        public int RunewordID;
        public int RunewordParam;
        //public List<StatBase> SetBonuses;
        public BaseSetItem SetItem;
        public List<StatBase> Stats;
        public ItemAffix Suffix;
        public SuperiorItemType SuperiorType;
        public uint UID;
        public BaseUniqueItem UniqueItem;
        public int Use;
        public int UsedSockets;
        public ItemVersion Version;
        public int X;
        public int Y;

        public Dictionary<string, int> SimpleMods;
        public Dictionary<string, int> SimpleStats;

        public Item(GameServer.WorldItemAction packet)
        {
            this.Initialize(packet);
        }

        public void Initialize(GameServer.WorldItemAction packet)
        {
            this.Action             = packet.Action;
            this.BaseItem           = packet.BaseItem;
            this.Category           = packet.Category;
            this.Class              = packet.Class;
            this.Container          = packet.Container;
            this.Destination        = packet.Destination;
            this.Flags              = packet.Flags;
            this.Level              = packet.Level;
            this.Location           = packet.Location;
            this.MagicPrefix        = packet.MagicPrefixes;
            this.MagicSuffix        = packet.MagicSuffixes;
            this.Mods               = packet.Mods;
            this.Name               = packet.Name;
            this.Prefix             = packet.Prefix;
            this.Quality            = packet.Quality;
            this.Runeword           = packet.Runeword;
            this.RunewordID         = packet.RunewordID;
            this.RunewordParam      = packet.RunewordParam;
            this.SetItem            = packet.SetItem;
            this.Stats              = packet.Stats;
            this.Suffix             = packet.Suffix;
            this.SuperiorType       = packet.SuperiorType;
            this.UID                = packet.UID;
            this.UniqueItem         = packet.UniqueItem;
            this.Use                = packet.Use;
            this.UsedSockets        = packet.UsedSockets;
            this.Version            = packet.Version;
            this.X                  = packet.X;
            this.Y                  = packet.Y;

            this.SimpleStats        = new Dictionary<string,int>();

            foreach (D2Data.StatBase stat in this.Stats)
            {
                this.SimpleStats.Add(stat.BaseStat.Name, (stat as D2Data.SignedStat).Value);
            }
            /*
            this.SimpleMods = new Dictionary<string, int>();

            foreach (D2Data.StatBase stat in this.Mods)
            {
                this.SimpleMods.Add(stat.BaseStat.Name, (int)(stat as D2Data.UnsignedStat).Value);
            }*/
        }
    }
}