public void AddToPacket(ref PacketClass packet, ObjectUpdateType updateType, ref WS_GameObjects.GameObject updateObject)
 {
     checked
     {
         packet.AddInt8((byte)updateType);
         packet.AddPackGUID(updateObject.GUID);
         switch (updateObject.Type)
         {
         case GameObjectType.GAMEOBJECT_TYPE_TRAP:
         case GameObjectType.GAMEOBJECT_TYPE_DUEL_ARBITER:
         case GameObjectType.GAMEOBJECT_TYPE_FLAGSTAND:
         case GameObjectType.GAMEOBJECT_TYPE_FLAGDROP:
             updateType = ObjectUpdateType.UPDATETYPE_CREATE_OBJECT_SELF;
             break;
         }
         if (updateType is ObjectUpdateType.UPDATETYPE_CREATE_OBJECT or ObjectUpdateType.UPDATETYPE_CREATE_OBJECT_SELF)
         {
             packet.AddInt8(5);
             if (updateObject.Type is GameObjectType.GAMEOBJECT_TYPE_TRANSPORT or GameObjectType.GAMEOBJECT_TYPE_MO_TRANSPORT)
             {
                 packet.AddInt8(82);
             }
 public virtual void OnQuestCastSpell(ref WS_PlayerData.CharacterObject objCharacter, ref WS_GameObjects.GameObject GameObject, int SpellID)
 {
 }