Ejemplo n.º 1
0
        static void OnPlayerEnterWorld(WORLDMSG msgID, BinReader data)
        {
            uint        id          = data.ReadUInt32();
            ACCESSLEVEL accesslevel = (ACCESSLEVEL)data.ReadByte();
            DBCharacter c           = (DBCharacter)DBManager.GetDBObject(typeof(DBCharacter), id);

            if (c == null)
            {
                Console.WriteLine("Failed to enter world with id " + id + ". WorldServer is missing Character object");
                return;
            }
            WorldClient client = new WorldClient(c);
            MapInstance map    = (MapInstance)m_maps[c.WorldMapID];

            if (map == null)
            {
                Console.WriteLine("Worldserver is not handling " + c.WorldMapID + "!");
                client.LeaveWorld();
                return;
            }
            map.SetObjectPositionInBounds(client.Player);
            //client.CreatePlayerObject();
            client.Player.AccessLvl = accesslevel;
            map.Enter(client.Player);
        }
Ejemplo n.º 2
0
 public PlayerObject(DBCharacter c) : base()
 {
     m_character               = c;
     m_nextLevelExp            = c.Level * 1000;
     m_character.Health        = c.Health;
     m_character.MaxHealth     = c.MaxHealth;
     m_character.Power         = c.Power;
     m_character.MaxPower      = c.MaxPower;
     m_character.Strength      = c.Strength;
     m_character.BaseStrength  = c.BaseStrength;
     m_character.Stamina       = c.Stamina;
     m_character.BaseStamina   = c.BaseStamina;
     m_character.Agility       = c.Agility;
     m_character.BaseAgility   = c.BaseAgility;
     m_character.Intellect     = c.Intellect;
     m_character.BaseIntellect = c.BaseIntellect;
     m_character.Spirit        = c.Spirit;
     m_character.BaseSpirit    = c.BaseSpirit;
     m_scale       = c.Scale;
     m_displayID   = c.DisplayID;
     m_playerFlags = 0;
     m_accessLevel = ACCESSLEVEL.NORMAL;
     Inventory     = new PlayerInventory(this);
     if (c.Items != null)
     {
         foreach (DBItem item in c.Items)
         {
             Inventory.CreateItem(item);
         }
     }
     ObjectManager.AddWorldObject(this);
 }
Ejemplo n.º 3
0
        private void SendEnterWorld(DBCharacter c, ACCESSLEVEL accesslevel)
        {
            WorldPacket pkg = new WorldPacket(WORLDMSG.PLAYER_ENTER_WORLD);

            pkg.Write(c.ObjectId);
            pkg.Write((byte)accesslevel);
            Send(pkg);
        }
        static void OnAccessUpdate(int msgID, BinReader data)
        {
            uint        charID         = data.ReadUInt32();
            ACCESSLEVEL newAccessLevel = (ACCESSLEVEL)data.ReadByte();
            WorldClient client         = WorldServer.GetClientByCharacterID(charID);

            client.Player.AccessLvl = newAccessLevel;
            client.Player.UpdateData();
        }
Ejemplo n.º 5
0
 public User(int userid, string logon, string firstname, string lastname, ACCESSLEVEL accessLevel, int rootLocation, string rootLocationName)
 {
     _userid     = userid;
     Logon       = logon;
     FirstName   = firstname;
     LastName    = lastname;
     AccessLevel = accessLevel;
     RootLocation(rootLocation, rootLocationName);
 }
Ejemplo n.º 6
0
 // Methods
 public User()
 {
     this._userid             = 0;
     this._logon              = "";
     this._password           = "";
     this._firstName          = "";
     this._lastName           = "";
     this._accessLevel        = ACCESSLEVEL.administrator;
     this._rootLocation       = 1;
     this._rootLocationString = "<All Locations>";
 }
Ejemplo n.º 7
0
        //		[UpdateValueAttribute(PLAYERFIELDS.SKILL_INFO, ArraySize=384)]
        //		protected uint [] m_skill_info;

        public PlayerObject(DBCharacter c) : base()
        {
            m_character                     = c;
            m_character.Health              = c.Health;
            m_character.MaxHealth           = c.MaxHealth;
            m_character.Power               = c.Power;
            m_character.MaxPower            = c.MaxPower;
            m_character.Strength            = c.Strength;
            m_character.BaseStrength        = c.BaseStrength;
            m_character.Stamina             = c.Stamina;
            m_character.BaseStamina         = c.BaseStamina;
            m_character.Agility             = c.Agility;
            m_character.BaseAgility         = c.BaseAgility;
            m_character.Intellect           = c.Intellect;
            m_character.BaseIntellect       = c.BaseIntellect;
            m_character.Spirit              = c.Spirit;
            m_character.BaseSpirit          = c.BaseSpirit;
            m_character.AttackPower         = c.AttackPower;
            m_character.AttackPowerModifier = c.AttackPowerModifier;
            m_character.GuildID             = c.GuildID;
            m_character.GuildRank           = c.GuildRank;
            m_character.GuildTimeStamp      = WorldClock.GetTimeStamp();


            m_scale           = c.Scale;
            m_displayID       = c.DisplayID;
            m_nativedisplayID = c.DisplayID;
            m_playerFlags     = 0;
            m_accessLevel     = ACCESSLEVEL.NORMAL;
            m_baseattacktime  = 2000;
            //			m_skill_info = new uint[384];
            //			m_skill_info[0] = 133;	//Just for a test, Mage spell fireball
            Inventory = new PlayerInventory(this);
            if (c.Items != null)
            {
                foreach (DBItem item in c.Items)
                {
                    Inventory.CreateItem(item);
                }
            }
            StatManager.CalculateNextLevelExp(this);
            StatManager.CalculateNewStats(this);

            ObjectManager.AddWorldObject(this);
            EventManager.AddEvent(new AggrMonsterEvent(this));
            EventManager.AddEvent(new RoamingEvent(this));
        }
Ejemplo n.º 8
0
 internal void OnEnterWorld(DBCharacter c, ACCESSLEVEL accesslevel)
 {
     Send(c);
     SendEnterWorld(c, accesslevel);
 }