diff --git a/src/Episode3/DataIndexes.cc b/src/Episode3/DataIndexes.cc index 93dba7f7..a9177b98 100644 --- a/src/Episode3/DataIndexes.cc +++ b/src/Episode3/DataIndexes.cc @@ -2210,9 +2210,9 @@ MapIndex::MapIndex(const string& directory) { } else if (ends_with(filename, ".mnm") || ends_with(filename, ".bin")) { entry.reset(new MapEntry(load_file(directory + "/" + filename))); } else if (ends_with(filename, ".gci")) { - entry.reset(new MapEntry(Quest::decode_gci_file(directory + "/" + filename))); + entry.reset(new MapEntry(decode_gci_file(directory + "/" + filename))); } else if (ends_with(filename, ".dlq")) { - entry.reset(new MapEntry(Quest::decode_dlq_file(directory + "/" + filename))); + entry.reset(new MapEntry(decode_dlq_file(directory + "/" + filename))); } if (entry.get()) { diff --git a/src/Main.cc b/src/Main.cc index 4f50d154..a28230a2 100644 --- a/src/Main.cc +++ b/src/Main.cc @@ -399,7 +399,7 @@ int main(int argc, char** argv) { Behavior behavior = Behavior::RUN_SERVER; GameVersion cli_version = GameVersion::GC; QuestScriptVersion cli_quest_version = QuestScriptVersion::GC_V3; - Quest::FileFormat quest_file_type = Quest::FileFormat::BIN_DAT_GCI; + QuestFileFormat quest_file_type = QuestFileFormat::BIN_DAT_GCI; string seed; string key_file_name; const char* config_filename = "system/config.json"; @@ -582,16 +582,16 @@ int main(int argc, char** argv) { behavior = Behavior::DECODE_SJIS; } else if (!strcmp(argv[x], "decode-gci")) { behavior = Behavior::DECODE_QUEST_FILE; - quest_file_type = Quest::FileFormat::BIN_DAT_GCI; + quest_file_type = QuestFileFormat::BIN_DAT_GCI; } else if (!strcmp(argv[x], "decode-vms")) { behavior = Behavior::DECODE_QUEST_FILE; - quest_file_type = Quest::FileFormat::BIN_DAT_VMS; + quest_file_type = QuestFileFormat::BIN_DAT_VMS; } else if (!strcmp(argv[x], "decode-dlq")) { behavior = Behavior::DECODE_QUEST_FILE; - quest_file_type = Quest::FileFormat::BIN_DAT_DLQ; + quest_file_type = QuestFileFormat::BIN_DAT_DLQ; } else if (!strcmp(argv[x], "decode-qst")) { behavior = Behavior::DECODE_QUEST_FILE; - quest_file_type = Quest::FileFormat::QST; + quest_file_type = QuestFileFormat::QST; } else if (!strcmp(argv[x], "encode-qst")) { behavior = Behavior::ENCODE_QST; } else if (!strcmp(argv[x], "disassemble-quest-script")) { @@ -1337,19 +1337,19 @@ int main(int argc, char** argv) { } string output_filename_base = input_filename; - if (quest_file_type == Quest::FileFormat::BIN_DAT_GCI) { + if (quest_file_type == QuestFileFormat::BIN_DAT_GCI) { int64_t dec_seed = seed.empty() ? -1 : stoul(seed, nullptr, 16); - auto decoded = Quest::decode_gci_file(input_filename, num_threads, dec_seed, skip_checksum); + auto decoded = decode_gci_file(input_filename, num_threads, dec_seed, skip_checksum); save_file(output_filename_base + ".dec", decoded); - } else if (quest_file_type == Quest::FileFormat::BIN_DAT_VMS) { + } else if (quest_file_type == QuestFileFormat::BIN_DAT_VMS) { int64_t dec_seed = seed.empty() ? -1 : stoul(seed, nullptr, 16); - auto decoded = Quest::decode_vms_file(input_filename, num_threads, dec_seed, skip_checksum); + auto decoded = decode_vms_file(input_filename, num_threads, dec_seed, skip_checksum); save_file(output_filename_base + ".dec", decoded); - } else if (quest_file_type == Quest::FileFormat::BIN_DAT_DLQ) { - auto decoded = Quest::decode_dlq_file(input_filename); + } else if (quest_file_type == QuestFileFormat::BIN_DAT_DLQ) { + auto decoded = decode_dlq_file(input_filename); save_file(output_filename_base + ".dec", decoded); - } else if (quest_file_type == Quest::FileFormat::QST) { - auto data = Quest::decode_qst_file(input_filename); + } else if (quest_file_type == QuestFileFormat::QST) { + auto data = decode_qst_file(input_filename); save_file(output_filename_base + ".bin", data.first); save_file(output_filename_base + ".dat", data.second); } else { @@ -1363,11 +1363,11 @@ int main(int argc, char** argv) { throw invalid_argument("an input filename is required"); } - shared_ptr q(new Quest(input_filename, cli_quest_version, nullptr)); + shared_ptr vq(new VersionedQuest(input_filename, cli_quest_version, nullptr)); if (download) { - q = q->create_download_quest(); + vq = vq->create_download_quest(); } - string qst_data = q->encode_qst(); + string qst_data = vq->encode_qst(); write_output_data(qst_data.data(), qst_data.size()); break; diff --git a/src/Map.cc b/src/Map.cc index f37c39e2..4fa63142 100644 --- a/src/Map.cc +++ b/src/Map.cc @@ -488,7 +488,7 @@ void Map::add_enemies_from_quest_data( size_t size) { StringReader r(data, size); while (!r.eof()) { - const auto& header = r.get(); + const auto& header = r.get(); if (header.type == 0 && header.section_size == 0) { break; } diff --git a/src/ProxyServer.cc b/src/ProxyServer.cc index 6fdedfce..876b6511 100644 --- a/src/ProxyServer.cc +++ b/src/ProxyServer.cc @@ -626,7 +626,7 @@ ProxyServer::LinkedSession::SavingFile::SavingFile( void ProxyServer::LinkedSession::SavingFile::write() const { string data = join(this->blocks); if (is_download && (ends_with(this->basename, ".bin") || ends_with(this->basename, ".dat"))) { - data = Quest::decode_dlq_data(data); + data = decode_dlq_data(data); } save_file(this->output_filename, data); } diff --git a/src/Quest.cc b/src/Quest.cc index 495f701e..97cb2888 100644 --- a/src/Quest.cc +++ b/src/Quest.cc @@ -216,37 +216,39 @@ struct PSODownloadQuestHeader { le_uint32_t encryption_seed; } __attribute__((packed)); -Quest::Quest(const string& bin_filename, QuestScriptVersion version, shared_ptr category_index) +VersionedQuest::VersionedQuest( + const string& bin_filename, + QuestScriptVersion version, + shared_ptr category_index) : quest_number(0xFFFFFFFF), - menu_item_id(0), - category_id(0), + category_id(0xFFFFFFFF), episode(Episode::NONE), joinable(false), version(version), - file_format(FileFormat::BIN_DAT), + file_format(QuestFileFormat::BIN_DAT), has_mnm_extension(false), is_dlq_encoded(false) { if (ends_with(bin_filename, ".bin.gci") || ends_with(bin_filename, ".mnm.gci")) { - this->file_format = FileFormat::BIN_DAT_GCI; + this->file_format = QuestFileFormat::BIN_DAT_GCI; this->has_mnm_extension = ends_with(bin_filename, ".mnm.gci"); this->file_basename = bin_filename.substr(0, bin_filename.size() - 8); } else if (ends_with(bin_filename, ".bin.vms")) { - this->file_format = FileFormat::BIN_DAT_VMS; + this->file_format = QuestFileFormat::BIN_DAT_VMS; this->file_basename = bin_filename.substr(0, bin_filename.size() - 8); } else if (ends_with(bin_filename, ".bin.dlq") || ends_with(bin_filename, ".mnm.dlq")) { - this->file_format = FileFormat::BIN_DAT_DLQ; + this->file_format = QuestFileFormat::BIN_DAT_DLQ; this->has_mnm_extension = ends_with(bin_filename, ".mnm.dlq"); this->file_basename = bin_filename.substr(0, bin_filename.size() - 8); } else if (ends_with(bin_filename, ".qst")) { - this->file_format = FileFormat::QST; + this->file_format = QuestFileFormat::QST; this->file_basename = bin_filename.substr(0, bin_filename.size() - 4); } else if (ends_with(bin_filename, ".bin") || ends_with(bin_filename, ".mnm")) { - this->file_format = FileFormat::BIN_DAT; + this->file_format = QuestFileFormat::BIN_DAT; this->has_mnm_extension = ends_with(bin_filename, ".mnm"); this->file_basename = bin_filename.substr(0, bin_filename.size() - 4); } else if (ends_with(bin_filename, ".bind") || ends_with(bin_filename, ".mnmd")) { - this->file_format = FileFormat::BIN_DAT_UNCOMPRESSED; + this->file_format = QuestFileFormat::BIN_DAT_UNCOMPRESSED; this->has_mnm_extension = ends_with(bin_filename, ".mnmd"); this->file_basename = bin_filename.substr(0, bin_filename.size() - 5); } else { @@ -285,6 +287,9 @@ Quest::Quest(const string& bin_filename, QuestScriptVersion version, shared_ptr< this->category_id = 0; } + // Parse the number out of the first token + this->quest_number = strtoull(tokens[0].c_str() + 1, nullptr, 10); + // Get the version from the second (or previously third) token static const unordered_map name_to_version({ {"dn", QuestScriptVersion::DC_NTE}, @@ -316,7 +321,9 @@ Quest::Quest(const string& bin_filename, QuestScriptVersion version, shared_ptr< auto* header = reinterpret_cast(bin_decompressed.data()); this->joinable = false; this->episode = Episode::EP1; - this->quest_number = header->quest_number; + if (this->quest_number == 0xFFFFFFFF) { + this->quest_number = header->quest_number; + } this->name = decode_sjis(header->name); this->short_description = decode_sjis(header->short_description); this->long_description = decode_sjis(header->long_description); @@ -330,7 +337,9 @@ Quest::Quest(const string& bin_filename, QuestScriptVersion version, shared_ptr< auto* header = reinterpret_cast(bin_decompressed.data()); this->joinable = false; this->episode = Episode::EP1; - this->quest_number = header->quest_number; + if (this->quest_number == 0xFFFFFFFF) { + this->quest_number = header->quest_number; + } this->name = header->name; this->short_description = header->short_description; this->long_description = header->long_description; @@ -348,13 +357,15 @@ Quest::Quest(const string& bin_filename, QuestScriptVersion version, shared_ptr< if (bin_decompressed.size() != sizeof(Episode3::MapDefinition)) { throw invalid_argument("file is incorrect size"); } - auto* header = reinterpret_cast(bin_decompressed.data()); + auto* map = reinterpret_cast(bin_decompressed.data()); this->joinable = false; this->episode = Episode::EP3; - this->quest_number = header->map_number; - this->name = decode_sjis(header->name); - this->short_description = decode_sjis(header->quest_name); - this->long_description = decode_sjis(header->description); + if (this->quest_number == 0xFFFFFFFF) { + this->quest_number = map->map_number; + } + this->name = decode_sjis(map->name); + this->short_description = decode_sjis(map->quest_name); + this->long_description = decode_sjis(map->description); break; } @@ -367,7 +378,9 @@ Quest::Quest(const string& bin_filename, QuestScriptVersion version, shared_ptr< auto* header = reinterpret_cast(bin_decompressed.data()); this->joinable = false; this->episode = (header->episode == 1) ? Episode::EP2 : Episode::EP1; - this->quest_number = header->quest_number; + if (this->quest_number == 0xFFFFFFFF) { + this->quest_number = header->quest_number; + } this->name = decode_sjis(header->name); this->short_description = decode_sjis(header->short_description); this->long_description = decode_sjis(header->long_description); @@ -393,7 +406,9 @@ Quest::Quest(const string& bin_filename, QuestScriptVersion version, shared_ptr< default: throw runtime_error("invalid episode number"); } - this->quest_number = header->quest_number; + if (this->quest_number == 0xFFFFFFFF) { + this->quest_number = header->quest_number; + } this->name = header->name; this->short_description = header->short_description; this->long_description = header->long_description; @@ -409,7 +424,7 @@ Quest::Quest(const string& bin_filename, QuestScriptVersion version, shared_ptr< } } -string Quest::bin_filename() const { +string VersionedQuest::bin_filename() const { if (this->episode == Episode::EP3) { return string_printf("m%06" PRIu32 "p_e.bin", this->quest_number); } else { @@ -417,7 +432,7 @@ string Quest::bin_filename() const { } } -string Quest::dat_filename() const { +string VersionedQuest::dat_filename() const { if (this->episode == Episode::EP3) { throw logic_error("Episode 3 quests do not have .dat files"); } else { @@ -425,31 +440,31 @@ string Quest::dat_filename() const { } } -shared_ptr Quest::bin_contents() const { +shared_ptr VersionedQuest::bin_contents() const { if (!this->bin_contents_ptr) { switch (this->file_format) { - case FileFormat::BIN_DAT: + case QuestFileFormat::BIN_DAT: this->bin_contents_ptr.reset(new string(load_file( this->file_basename + (this->has_mnm_extension ? ".mnm" : ".bin")))); break; - case FileFormat::BIN_DAT_UNCOMPRESSED: + case QuestFileFormat::BIN_DAT_UNCOMPRESSED: this->bin_contents_ptr.reset(new string(prs_compress(load_file( this->file_basename + (this->has_mnm_extension ? ".mnmd" : ".bind"))))); break; - case FileFormat::BIN_DAT_GCI: - this->bin_contents_ptr.reset(new string(this->decode_gci_file( + case QuestFileFormat::BIN_DAT_GCI: + this->bin_contents_ptr.reset(new string(decode_gci_file( this->file_basename + (this->has_mnm_extension ? ".mnm.gci" : ".bin.gci")))); break; - case FileFormat::BIN_DAT_VMS: - this->bin_contents_ptr.reset(new string(this->decode_vms_file( + case QuestFileFormat::BIN_DAT_VMS: + this->bin_contents_ptr.reset(new string(decode_vms_file( this->file_basename + (this->has_mnm_extension ? ".mnm.vms" : ".bin.vms")))); break; - case FileFormat::BIN_DAT_DLQ: - this->bin_contents_ptr.reset(new string(this->decode_dlq_file( + case QuestFileFormat::BIN_DAT_DLQ: + this->bin_contents_ptr.reset(new string(decode_dlq_file( this->file_basename + (this->has_mnm_extension ? ".mnm.dlq" : ".bin.dlq")))); break; - case FileFormat::QST: { - auto result = this->decode_qst_file(this->file_basename + ".qst"); + case QuestFileFormat::QST: { + auto result = decode_qst_file(this->file_basename + ".qst"); this->bin_contents_ptr.reset(new string(std::move(result.first))); this->dat_contents_ptr.reset(new string(std::move(result.second))); break; @@ -461,29 +476,29 @@ shared_ptr Quest::bin_contents() const { return this->bin_contents_ptr; } -shared_ptr Quest::dat_contents() const { +shared_ptr VersionedQuest::dat_contents() const { if (this->episode == Episode::EP3) { throw logic_error("Episode 3 quests do not have .dat files"); } if (!this->dat_contents_ptr) { switch (this->file_format) { - case FileFormat::BIN_DAT: + case QuestFileFormat::BIN_DAT: this->dat_contents_ptr.reset(new string(load_file(this->file_basename + ".dat"))); break; - case FileFormat::BIN_DAT_UNCOMPRESSED: + case QuestFileFormat::BIN_DAT_UNCOMPRESSED: this->dat_contents_ptr.reset(new string(prs_compress(load_file(this->file_basename + ".datd")))); break; - case FileFormat::BIN_DAT_GCI: - this->dat_contents_ptr.reset(new string(this->decode_gci_file(this->file_basename + ".dat.gci"))); + case QuestFileFormat::BIN_DAT_GCI: + this->dat_contents_ptr.reset(new string(decode_gci_file(this->file_basename + ".dat.gci"))); break; - case FileFormat::BIN_DAT_VMS: - this->dat_contents_ptr.reset(new string(this->decode_vms_file(this->file_basename + ".dat.vms"))); + case QuestFileFormat::BIN_DAT_VMS: + this->dat_contents_ptr.reset(new string(decode_vms_file(this->file_basename + ".dat.vms"))); break; - case FileFormat::BIN_DAT_DLQ: - this->dat_contents_ptr.reset(new string(this->decode_dlq_file(this->file_basename + ".dat.dlq"))); + case QuestFileFormat::BIN_DAT_DLQ: + this->dat_contents_ptr.reset(new string(decode_dlq_file(this->file_basename + ".dat.dlq"))); break; - case FileFormat::QST: { - auto result = this->decode_qst_file(this->file_basename + ".qst"); + case QuestFileFormat::QST: { + auto result = decode_qst_file(this->file_basename + ".qst"); this->bin_contents_ptr.reset(new string(std::move(result.first))); this->dat_contents_ptr.reset(new string(std::move(result.second))); break; @@ -495,8 +510,237 @@ shared_ptr Quest::dat_contents() const { return this->dat_contents_ptr; } -string Quest::decode_gci_file( - const string& filename, ssize_t find_seed_num_threads, int64_t known_seed, bool skip_checksum) { +string VersionedQuest::encode_qst() const { + return encode_qst_file( + *this->bin_contents(), + *this->dat_contents(), + this->name, + this->quest_number, + this->version, + this->is_dlq_encoded); +} + +Quest::Quest(shared_ptr initial_version) + : quest_number(initial_version->quest_number), + category_id(initial_version->category_id), + episode(initial_version->episode), + joinable(initial_version->joinable), + name(initial_version->name), + versions_present(1 << static_cast(initial_version->version)) { + versions.emplace(initial_version->version, initial_version); +} + +void Quest::add_version(shared_ptr vq) { + if (this->quest_number != vq->quest_number) { + throw logic_error("incorrect versioned quest number"); + } + if (this->category_id != vq->category_id) { + throw runtime_error("quest version is in a different category"); + } + if (this->episode != vq->episode) { + throw runtime_error("quest version is in a different episode"); + } + if (this->joinable != vq->joinable) { + throw runtime_error("quest version has a different joinability state"); + } + + uint16_t presence_mask = 1 << static_cast(vq->version); + if (this->versions_present & presence_mask) { + throw runtime_error("quest version is already present"); + } + this->versions_present |= presence_mask; + this->versions.emplace(vq->version, vq); +} + +bool Quest::has_version(QuestScriptVersion v) const { + return !!(this->versions_present & (1 << static_cast(v))); +} + +shared_ptr Quest::version(QuestScriptVersion v) const { + try { + return this->versions.at(v); + } catch (const out_of_range&) { + return nullptr; + } +} + +QuestIndex::QuestIndex( + const string& directory, + std::shared_ptr category_index) + : directory(directory), + category_index(category_index) { + + for (const auto& filename : list_directory_sorted(this->directory)) { + string full_path = this->directory + "/" + filename; + + if (ends_with(filename, ".gba")) { + shared_ptr contents(new string(load_file(full_path))); + this->gba_file_contents.emplace(make_pair(filename, contents)); + continue; + } + + if (ends_with(filename, ".bin") || + ends_with(filename, ".bind") || + ends_with(filename, ".bin.gci") || + ends_with(filename, ".bin.vms") || + ends_with(filename, ".bin.dlq") || + ends_with(filename, ".mnm") || + ends_with(filename, ".mnmd") || + ends_with(filename, ".mnm.gci") || + ends_with(filename, ".mnm.dlq") || + ends_with(filename, ".qst")) { + try { + shared_ptr vq(new VersionedQuest(full_path, QuestScriptVersion::UNKNOWN, this->category_index)); + + string ascii_name = encode_sjis(vq->name); + auto category_name = encode_sjis(this->category_index->at(vq->category_id).name); + + auto q_it = this->quests_by_number.find(vq->quest_number); + if (q_it != this->quests_by_number.end()) { + q_it->second->add_version(vq); + static_game_data_log.info("(%s) Added %s version of quest %" PRIu32 " \"%s\"", + filename.c_str(), + name_for_enum(vq->version), + vq->quest_number, + ascii_name.c_str()); + } else { + this->quests_by_number.emplace(vq->quest_number, new Quest(vq)); + static_game_data_log.info("(%s) Created %s quest %" PRIu32 " \"%s\" (%s, %s (%" PRIu32 "), %s)", + filename.c_str(), + name_for_enum(vq->version), + vq->quest_number, + ascii_name.c_str(), + name_for_episode(vq->episode), + category_name.c_str(), + vq->category_id, + vq->joinable ? "joinable" : "not joinable"); + } + } catch (const exception& e) { + static_game_data_log.warning("Failed to index quest file %s (%s)", filename.c_str(), e.what()); + } + } + } +} + +shared_ptr QuestIndex::get(uint32_t quest_number) const { + try { + return this->quests_by_number.at(quest_number); + } catch (const out_of_range&) { + return nullptr; + } +} + +shared_ptr QuestIndex::get_gba(const string& name) const { + try { + return this->gba_file_contents.at(name); + } catch (const out_of_range&) { + return nullptr; + } +} + +vector> QuestIndex::filter(uint32_t category_id, QuestScriptVersion version) const { + vector> ret; + for (auto it : this->quests_by_number) { + if (it.second->category_id == category_id && it.second->has_version(version)) { + ret.emplace_back(it.second); + } + } + return ret; +} + +string encode_download_quest_file(const string& compressed_data, size_t decompressed_size, uint32_t encryption_seed) { + // Download quest files are like normal (PRS-compressed) quest files, but they + // are encrypted with PSO V2 encryption (even on V3 / PSO GC), and a small + // header (PSODownloadQuestHeader) is prepended to the encrypted data. + + if (encryption_seed == 0) { + encryption_seed = random_object(); + } + if (decompressed_size == 0) { + decompressed_size = prs_decompress_size(compressed_data); + } + + string data(8, '\0'); + auto* header = reinterpret_cast(data.data()); + header->size = decompressed_size; + header->encryption_seed = encryption_seed; + data += compressed_data; + + // Add temporary extra bytes if necessary so encryption won't fail - the data + // size must be a multiple of 4 for PSO V2 encryption. + size_t original_size = data.size(); + data.resize((data.size() + 3) & (~3)); + + PSOV2Encryption encr(encryption_seed); + encr.encrypt(data.data() + sizeof(PSODownloadQuestHeader), + data.size() - sizeof(PSODownloadQuestHeader)); + data.resize(original_size); + + return data; +} + +shared_ptr VersionedQuest::create_download_quest() const { + // The download flag needs to be set in the bin header, or else the client + // will ignore it when scanning for download quests in an offline game. To set + // this flag, we need to decompress the quest's .bin file, set the flag, then + // recompress it again. + + // This function should not be used for Episode 3 quests (they should be sent + // to the client as-is, without any encryption or other preprocessing) + if (this->episode == Episode::EP3 || this->version == QuestScriptVersion::GC_EP3) { + throw logic_error("Episode 3 quests cannot be converted to download quests"); + } + + string decompressed_bin = prs_decompress(*this->bin_contents()); + + void* data_ptr = decompressed_bin.data(); + switch (this->version) { + case QuestScriptVersion::DC_NTE: + case QuestScriptVersion::DC_V1: + case QuestScriptVersion::DC_V2: + if (decompressed_bin.size() < sizeof(PSOQuestHeaderDC)) { + throw runtime_error("bin file is too small for header"); + } + reinterpret_cast(data_ptr)->is_download = 0x01; + break; + case QuestScriptVersion::PC_V2: + if (decompressed_bin.size() < sizeof(PSOQuestHeaderPC)) { + throw runtime_error("bin file is too small for header"); + } + reinterpret_cast(data_ptr)->is_download = 0x01; + break; + case QuestScriptVersion::GC_NTE: + case QuestScriptVersion::GC_V3: + case QuestScriptVersion::XB_V3: + if (decompressed_bin.size() < sizeof(PSOQuestHeaderGC)) { + throw runtime_error("bin file is too small for header"); + } + reinterpret_cast(data_ptr)->is_download = 0x01; + break; + case QuestScriptVersion::BB_V4: + throw invalid_argument("PSOBB does not support download quests"); + case QuestScriptVersion::GC_EP3: + throw logic_error("Episode 3 quests cannot be converted to download quests"); + default: + throw invalid_argument("unknown game version"); + } + + string compressed_bin = prs_compress(decompressed_bin); + + // Return a new VersionedQuest object with appropriately-processed .bin and + // .dat file contents + shared_ptr dlq(new VersionedQuest(*this)); + dlq->bin_contents_ptr.reset(new string(encode_download_quest_file(compressed_bin, decompressed_bin.size()))); + dlq->dat_contents_ptr.reset(new string(encode_download_quest_file(*this->dat_contents()))); + dlq->is_dlq_encoded = true; + return dlq; +} + +string decode_gci_file( + const string& filename, + ssize_t find_seed_num_threads, + int64_t known_seed, + bool skip_checksum) { string data = load_file(filename); StringReader r(data); @@ -596,8 +840,11 @@ string Quest::decode_gci_file( } } -string Quest::decode_vms_file( - const string& filename, ssize_t find_seed_num_threads, int64_t known_seed, bool skip_checksum) { +string decode_vms_file( + const string& filename, + ssize_t find_seed_num_threads, + int64_t known_seed, + bool skip_checksum) { string data = load_file(filename); StringReader r(data); @@ -629,7 +876,7 @@ string Quest::decode_vms_file( } } -string Quest::decode_dlq_data(const string& data) { +string decode_dlq_data(const string& data) { StringReader r(data); uint32_t decompressed_size = r.get_u32l(); uint32_t key = r.get_u32l(); @@ -652,9 +899,9 @@ string Quest::decode_dlq_data(const string& data) { return decrypted; } -string Quest::decode_dlq_file(const string& filename) { +string decode_dlq_file(const string& filename) { auto f = fopen_unique(filename, "rb"); - return Quest::decode_dlq_data(read_all(f.get())); + return decode_dlq_data(read_all(f.get())); } template @@ -668,7 +915,7 @@ static pair decode_qst_t(FILE* f) { string internal_dat_filename; uint32_t bin_file_size = 0; uint32_t dat_file_size = 0; - Quest::FileFormat subformat = Quest::FileFormat::QST; // Stand-in for unknown + QuestFileFormat subformat = QuestFileFormat::QST; // Stand-in for unknown while (!r.eof()) { // Handle BB's implicit 8-byte command alignment static constexpr size_t alignment = sizeof(HeaderT); @@ -681,15 +928,15 @@ static pair decode_qst_t(FILE* f) { const auto& header = r.get(); if (header.command == 0x44 || header.command == 0x13) { - if (subformat == Quest::FileFormat::QST) { - subformat = Quest::FileFormat::BIN_DAT; - } else if (subformat != Quest::FileFormat::BIN_DAT) { + if (subformat == QuestFileFormat::QST) { + subformat = QuestFileFormat::BIN_DAT; + } else if (subformat != QuestFileFormat::BIN_DAT) { throw runtime_error("QST file contains mixed download and non-download commands"); } } else if (header.command == 0xA6 || header.command == 0xA7) { - if (subformat == Quest::FileFormat::QST) { - subformat = Quest::FileFormat::BIN_DAT_DLQ; - } else if (subformat != Quest::FileFormat::BIN_DAT_DLQ) { + if (subformat == QuestFileFormat::QST) { + subformat = QuestFileFormat::BIN_DAT_DLQ; + } else if (subformat != QuestFileFormat::BIN_DAT_DLQ) { throw runtime_error("QST file contains mixed download and non-download commands"); } } @@ -763,15 +1010,15 @@ static pair decode_qst_t(FILE* f) { throw runtime_error("dat file does not match expected size"); } - if (subformat == Quest::FileFormat::BIN_DAT_DLQ) { - bin_contents = Quest::decode_dlq_file(bin_contents); - dat_contents = Quest::decode_dlq_file(dat_contents); + if (subformat == QuestFileFormat::BIN_DAT_DLQ) { + bin_contents = decode_dlq_file(bin_contents); + dat_contents = decode_dlq_file(dat_contents); } return make_pair(bin_contents, dat_contents); } -pair Quest::decode_qst_file(const string& filename) { +pair decode_qst_file(const string& filename) { auto f = fopen_unique(filename, "rb"); // QST files start with an open file command, but the format differs depending @@ -842,7 +1089,7 @@ void add_write_file_commands( } } -string Quest::encode_qst( +string encode_qst_file( const string& bin_data, const string& dat_data, const u16string& name, @@ -900,178 +1147,3 @@ string Quest::encode_qst( return std::move(w.str()); } - -string Quest::encode_qst() const { - return this->encode_qst( - *this->bin_contents(), - *this->dat_contents(), - this->name, - this->quest_number, - this->version, - this->is_dlq_encoded); -} - -QuestIndex::QuestIndex( - const string& directory, - std::shared_ptr category_index) - : directory(directory), - category_index(category_index) { - - uint32_t next_menu_item_id = 1; - for (const auto& filename : list_directory_sorted(this->directory)) { - string full_path = this->directory + "/" + filename; - - if (ends_with(filename, ".gba")) { - shared_ptr contents(new string(load_file(full_path))); - this->gba_file_contents.emplace(make_pair(filename, contents)); - continue; - } - - if (ends_with(filename, ".bin") || - ends_with(filename, ".bind") || - ends_with(filename, ".bin.gci") || - ends_with(filename, ".bin.vms") || - ends_with(filename, ".bin.dlq") || - ends_with(filename, ".mnm") || - ends_with(filename, ".mnmd") || - ends_with(filename, ".mnm.gci") || - ends_with(filename, ".mnm.dlq") || - ends_with(filename, ".qst")) { - try { - shared_ptr q(new Quest(full_path, QuestScriptVersion::UNKNOWN, this->category_index)); - q->menu_item_id = next_menu_item_id++; - string ascii_name = encode_sjis(q->name); - if (!this->version_menu_item_id_to_quest.emplace(make_pair(q->version, q->menu_item_id), q).second) { - throw logic_error("duplicate quest menu item id"); - } - auto category_name = encode_sjis(this->category_index->at(q->category_id).name); - static_game_data_log.info("Indexed quest %s (%s => %s-%" PRIu32 " (%" PRIu32 "), %s, %s (%" PRIu32 "), joinable=%s)", - ascii_name.c_str(), - filename.c_str(), - name_for_enum(q->version), - q->quest_number, - q->menu_item_id, - name_for_episode(q->episode), - category_name.c_str(), - q->category_id, - q->joinable ? "true" : "false"); - } catch (const exception& e) { - static_game_data_log.warning("Failed to index quest file %s (%s)", filename.c_str(), e.what()); - } - } - } -} - -shared_ptr QuestIndex::get( - QuestScriptVersion version, uint32_t menu_item_id) const { - return this->version_menu_item_id_to_quest.at(make_pair(version, menu_item_id)); -} - -shared_ptr QuestIndex::get_gba(const string& name) const { - return this->gba_file_contents.at(name); -} - -vector> QuestIndex::filter( - QuestScriptVersion version, uint32_t category_id) const { - auto it = this->version_menu_item_id_to_quest.lower_bound(make_pair(version, 0)); - auto end_it = this->version_menu_item_id_to_quest.upper_bound(make_pair(version, 0xFFFFFFFF)); - - vector> ret; - for (; it != end_it; it++) { - if (it->second->category_id == category_id) { - ret.emplace_back(it->second); - } - } - - return ret; -} - -string Quest::encode_download_quest_file( - const string& compressed_data, size_t decompressed_size, uint32_t encryption_seed) { - // Download quest files are like normal (PRS-compressed) quest files, but they - // are encrypted with PSO V2 encryption (even on V3 / PSO GC), and a small - // header (PSODownloadQuestHeader) is prepended to the encrypted data. - - if (encryption_seed == 0) { - encryption_seed = random_object(); - } - if (decompressed_size == 0) { - decompressed_size = prs_decompress_size(compressed_data); - } - - string data(8, '\0'); - auto* header = reinterpret_cast(data.data()); - header->size = decompressed_size; - header->encryption_seed = encryption_seed; - data += compressed_data; - - // Add temporary extra bytes if necessary so encryption won't fail - the data - // size must be a multiple of 4 for PSO V2 encryption. - size_t original_size = data.size(); - data.resize((data.size() + 3) & (~3)); - - PSOV2Encryption encr(encryption_seed); - encr.encrypt(data.data() + sizeof(PSODownloadQuestHeader), - data.size() - sizeof(PSODownloadQuestHeader)); - data.resize(original_size); - - return data; -} - -shared_ptr Quest::create_download_quest() const { - // The download flag needs to be set in the bin header, or else the client - // will ignore it when scanning for download quests in an offline game. To set - // this flag, we need to decompress the quest's .bin file, set the flag, then - // recompress it again. - - // This function should not be used for Episode 3 quests (they should be sent - // to the client as-is, without any encryption or other preprocessing) - if (this->episode == Episode::EP3 || this->version == QuestScriptVersion::GC_EP3) { - throw logic_error("Episode 3 quests cannot be converted to download quests"); - } - - string decompressed_bin = prs_decompress(*this->bin_contents()); - - void* data_ptr = decompressed_bin.data(); - switch (this->version) { - case QuestScriptVersion::DC_NTE: - case QuestScriptVersion::DC_V1: - case QuestScriptVersion::DC_V2: - if (decompressed_bin.size() < sizeof(PSOQuestHeaderDC)) { - throw runtime_error("bin file is too small for header"); - } - reinterpret_cast(data_ptr)->is_download = 0x01; - break; - case QuestScriptVersion::PC_V2: - if (decompressed_bin.size() < sizeof(PSOQuestHeaderPC)) { - throw runtime_error("bin file is too small for header"); - } - reinterpret_cast(data_ptr)->is_download = 0x01; - break; - case QuestScriptVersion::GC_NTE: - case QuestScriptVersion::GC_V3: - case QuestScriptVersion::XB_V3: - if (decompressed_bin.size() < sizeof(PSOQuestHeaderGC)) { - throw runtime_error("bin file is too small for header"); - } - reinterpret_cast(data_ptr)->is_download = 0x01; - break; - case QuestScriptVersion::BB_V4: - throw invalid_argument("PSOBB does not support download quests"); - case QuestScriptVersion::GC_EP3: - throw logic_error("Episode 3 quests cannot be converted to download quests"); - default: - throw invalid_argument("unknown game version"); - } - - string compressed_bin = prs_compress(decompressed_bin); - - // Return a new Quest object with appropriately-processed .bin and .dat file - // contents - shared_ptr dlq(new Quest(*this)); - dlq->bin_contents_ptr.reset(new string(this->encode_download_quest_file( - compressed_bin, decompressed_bin.size()))); - dlq->dat_contents_ptr.reset(new string(this->encode_download_quest_file(*this->dat_contents()))); - dlq->is_dlq_encoded = true; - return dlq; -} diff --git a/src/Quest.hh b/src/Quest.hh index 37f3884a..4a182baf 100644 --- a/src/Quest.hh +++ b/src/Quest.hh @@ -10,6 +10,15 @@ #include "QuestScript.hh" #include "StaticGameData.hh" +enum class QuestFileFormat { + BIN_DAT = 0, + BIN_DAT_UNCOMPRESSED, + BIN_DAT_GCI, + BIN_DAT_VMS, + BIN_DAT_DLQ, + QST, +}; + struct QuestCategoryIndex { struct Category { enum Flag { @@ -43,7 +52,7 @@ struct QuestCategoryIndex { const Category& at(uint32_t category_id) const; }; -class Quest { +class VersionedQuest { public: struct DATSectionHeader { le_uint32_t type; // 1 = objects, 2 = enemies. There are other types too @@ -52,33 +61,24 @@ public: le_uint32_t data_size; } __attribute__((packed)); - enum class FileFormat { - BIN_DAT = 0, - BIN_DAT_UNCOMPRESSED, - BIN_DAT_GCI, - BIN_DAT_VMS, - BIN_DAT_DLQ, - QST, - }; uint32_t quest_number; - uint32_t menu_item_id; uint32_t category_id; Episode episode; bool joinable; QuestScriptVersion version; std::string file_basename; // we append -. when reading - FileFormat file_format; + QuestFileFormat file_format; bool has_mnm_extension; bool is_dlq_encoded; std::u16string name; std::u16string short_description; std::u16string long_description; - Quest(const std::string& file_basename, QuestScriptVersion version, std::shared_ptr category_index); - Quest(const Quest&) = default; - Quest(Quest&&) = default; - Quest& operator=(const Quest&) = default; - Quest& operator=(Quest&&) = default; + VersionedQuest(const std::string& file_basename, QuestScriptVersion version, std::shared_ptr category_index); + VersionedQuest(const VersionedQuest&) = default; + VersionedQuest(VersionedQuest&&) = default; + VersionedQuest& operator=(const VersionedQuest&) = default; + VersionedQuest& operator=(VersionedQuest&&) = default; std::string bin_filename() const; std::string dat_filename() const; @@ -86,31 +86,7 @@ public: std::shared_ptr bin_contents() const; std::shared_ptr dat_contents() const; - static std::string encode_download_quest_file( - const std::string& compressed_data, size_t decompressed_size = 0, uint32_t encryption_seed = 0); - std::shared_ptr create_download_quest() const; - - static std::string decode_gci_file( - const std::string& filename, - ssize_t find_seed_num_threads = -1, - int64_t known_seed = -1, - bool skip_checksum = false); - static std::string decode_vms_file( - const std::string& filename, - ssize_t find_seed_num_threads = -1, - int64_t known_seed = -1, - bool skip_checksum = false); - static std::string decode_dlq_file(const std::string& filename); - static std::string decode_dlq_data(const std::string& filename); - static std::pair decode_qst_file(const std::string& filename); - - static std::string encode_qst( - const std::string& bin_data, - const std::string& dat_data, - const std::u16string& name, - uint32_t quest_number, - QuestScriptVersion version, - bool is_dlq_encoded); + std::shared_ptr create_download_quest() const; std::string encode_qst() const; private: @@ -119,20 +95,68 @@ private: mutable std::shared_ptr dat_contents_ptr; }; +class Quest { +public: + Quest() = delete; + explicit Quest(std::shared_ptr initial_version); + Quest(const Quest&) = default; + Quest(Quest&&) = default; + Quest& operator=(const Quest&) = default; + Quest& operator=(Quest&&) = default; + + void add_version(shared_ptr vq); + bool has_version(QuestScriptVersion v) const; + shared_ptr version(QuestScriptVersion v) const; + + uint32_t quest_number; + uint32_t category_id; + Episode episode; + bool joinable; + std::u16string name; + + uint16_t versions_present; + std::unordered_map> versions; +}; + struct QuestIndex { std::string directory; std::shared_ptr category_index; - std::map, std::shared_ptr> version_menu_item_id_to_quest; - - std::map>> category_to_quests; + std::map> quests_by_number; std::map> gba_file_contents; QuestIndex(const std::string& directory, std::shared_ptr category_index); - std::shared_ptr get(QuestScriptVersion version, uint32_t id) const; + std::shared_ptr get(uint32_t quest_number) const; std::shared_ptr get_gba(const std::string& name) const; - std::vector> filter( - QuestScriptVersion version, uint32_t category_id) const; + std::vector> filter(uint32_t category_id, QuestScriptVersion version) const; }; + +std::string encode_download_quest_file( + const std::string& compressed_data, + size_t decompressed_size = 0, + uint32_t encryption_seed = 0); + +std::string decode_gci_file( + const std::string& filename, + ssize_t find_seed_num_threads = -1, + int64_t known_seed = -1, + bool skip_checksum = false); +std::string decode_vms_file( + const std::string& filename, + ssize_t find_seed_num_threads = -1, + int64_t known_seed = -1, + bool skip_checksum = false); + +std::string decode_dlq_file(const std::string& filename); +std::string decode_dlq_data(const std::string& data); + +std::pair decode_qst_file(const std::string& filename); +std::string encode_qst_file( + const std::string& bin_data, + const std::string& dat_data, + const std::u16string& name, + uint32_t quest_number, + QuestScriptVersion version, + bool is_dlq_encoded); diff --git a/src/QuestScript.hh b/src/QuestScript.hh index 1b49d37f..fa6dcac2 100644 --- a/src/QuestScript.hh +++ b/src/QuestScript.hh @@ -25,61 +25,65 @@ template <> const char* name_for_enum(QuestScriptVersion v); struct PSOQuestHeaderDC { // Same format for DC v1 and v2 - le_uint32_t code_offset; - le_uint32_t function_table_offset; - le_uint32_t size; - le_uint32_t unused; - uint8_t is_download; - uint8_t unknown1; - le_uint16_t quest_number; // 0xFFFF for challenge quests - ptext name; - ptext short_description; - ptext long_description; + /* 0000 */ le_uint32_t code_offset; + /* 0004 */ le_uint32_t function_table_offset; + /* 0008 */ le_uint32_t size; + /* 000C */ le_uint32_t unused; + /* 0010 */ uint8_t is_download; + /* 0011 */ uint8_t unknown1; + /* 0012 */ le_uint16_t quest_number; // 0xFFFF for challenge quests + /* 0014 */ ptext name; + /* 0034 */ ptext short_description; + /* 00B4 */ ptext long_description; + /* 01D4 */ } __attribute__((packed)); struct PSOQuestHeaderPC { - le_uint32_t code_offset; - le_uint32_t function_table_offset; - le_uint32_t size; - le_uint32_t unused; - uint8_t is_download; - uint8_t unknown1; - le_uint16_t quest_number; // 0xFFFF for challenge quests - ptext name; - ptext short_description; - ptext long_description; + /* 0000 */ le_uint32_t code_offset; + /* 0004 */ le_uint32_t function_table_offset; + /* 0008 */ le_uint32_t size; + /* 000C */ le_uint32_t unused; + /* 0010 */ uint8_t is_download; + /* 0011 */ uint8_t unknown1; + /* 0012 */ le_uint16_t quest_number; // 0xFFFF for challenge quests + /* 0014 */ ptext name; + /* 0054 */ ptext short_description; + /* 0154 */ ptext long_description; + /* 0394 */ } __attribute__((packed)); // TODO: Is the XB quest header format the same as on GC? If not, make a // separate struct; if so, rename this struct to V3. struct PSOQuestHeaderGC { - le_uint32_t code_offset; - le_uint32_t function_table_offset; - le_uint32_t size; - le_uint32_t unused; - uint8_t is_download; - uint8_t unknown1; - uint8_t quest_number; - uint8_t episode; // 1 = Ep2. Apparently some quests have 0xFF here, which means ep1 (?) - ptext name; - ptext short_description; - ptext long_description; + /* 0000 */ le_uint32_t code_offset; + /* 0004 */ le_uint32_t function_table_offset; + /* 0008 */ le_uint32_t size; + /* 000C */ le_uint32_t unused; + /* 0010 */ uint8_t is_download; + /* 0011 */ uint8_t unknown1; + /* 0012 */ uint8_t quest_number; + /* 0013 */ uint8_t episode; // 1 = Ep2. Apparently some quests have 0xFF here, which means ep1 (?) + /* 0014 */ ptext name; + /* 0034 */ ptext short_description; + /* 00B4 */ ptext long_description; + /* 01D4 */ } __attribute__((packed)); struct PSOQuestHeaderBB { - le_uint32_t code_offset; - le_uint32_t function_table_offset; - le_uint32_t size; - le_uint32_t unused; - le_uint16_t quest_number; // 0xFFFF for challenge quests - le_uint16_t unused2; - uint8_t episode; // 0 = Ep1, 1 = Ep2, 2 = Ep4 - uint8_t max_players; - uint8_t joinable_in_progress; - uint8_t unknown; - ptext name; - ptext short_description; - ptext long_description; + /* 0000 */ le_uint32_t code_offset; + /* 0004 */ le_uint32_t function_table_offset; + /* 0008 */ le_uint32_t size; + /* 000C */ le_uint32_t unused; + /* 0010 */ le_uint16_t quest_number; // 0xFFFF for challenge quests + /* 0012 */ le_uint16_t unused2; + /* 0014 */ uint8_t episode; // 0 = Ep1, 1 = Ep2, 2 = Ep4 + /* 0015 */ uint8_t max_players; + /* 0016 */ uint8_t joinable_in_progress; + /* 0017 */ uint8_t unknown; + /* 0018 */ ptext name; + /* 0058 */ ptext short_description; + /* 0158 */ ptext long_description; + /* 0398 */ } __attribute__((packed)); std::string disassemble_quest_script(const void* data, size_t size, QuestScriptVersion version); diff --git a/src/ReceiveCommands.cc b/src/ReceiveCommands.cc index 5b831a62..5318a077 100644 --- a/src/ReceiveCommands.cc +++ b/src/ReceiveCommands.cc @@ -1477,11 +1477,16 @@ static void on_09(shared_ptr c, uint16_t, uint32_t, const string& data) if (!s->quest_index) { send_quest_info(c, u"$C6Quests are not available.", is_download_quest); } else { - auto q = s->quest_index->get(c->quest_version(), cmd.item_id); + auto q = s->quest_index->get(cmd.item_id); if (!q) { send_quest_info(c, u"$C4Quest does not\nexist.", is_download_quest); } else { - send_quest_info(c, q->long_description.c_str(), is_download_quest); + auto vq = q->version(c->quest_version()); + if (!vq) { + send_quest_info(c, u"$C4Quest does not\nexist for this game\nversion.", is_download_quest); + } else { + send_quest_info(c, vq->long_description, is_download_quest); + } } } break; @@ -1537,23 +1542,22 @@ static void on_09(shared_ptr c, uint16_t, uint32_t, const string& data) } if (game->quest) { - if (game->flags & Lobby::Flag::JOINABLE_QUEST_IN_PROGRESS) { - info += "$C6Quest: " + encode_sjis(game->quest->name); - } else { - info += "$C4Quest: " + encode_sjis(game->quest->name); - } + info += (game->flags & Lobby::Flag::JOINABLE_QUEST_IN_PROGRESS) ? "$C6Quest: " : "$C4Quest: "; + info += encode_sjis(game->quest->name); + info += "\n"; } else if (game->flags & Lobby::Flag::JOINABLE_QUEST_IN_PROGRESS) { - info += "$C6Quest in progress"; + info += "$C6Quest in progress\n"; } else if (game->flags & Lobby::Flag::QUEST_IN_PROGRESS) { - info += "$C4Quest in progress"; + info += "$C4Quest in progress\n"; } else if (game->flags & Lobby::Flag::BATTLE_IN_PROGRESS) { - info += "$C4Battle in progress"; + info += "$C4Battle in progress\n"; } if (game->flags & Lobby::Flag::SPECTATORS_FORBIDDEN) { - info += "$C4View Battle forbidden"; + info += "$C4View Battle forbidden\n"; } + strip_trailing_whitespace(info); send_ship_info(c, decode_sjis(info)); } break; @@ -1718,7 +1722,7 @@ static void on_10(shared_ptr c, uint16_t, uint32_t, const string& data) vector> quests; for (const auto& category : s->quest_category_index->categories) { if (category.flags & QuestCategoryIndex::Category::Flag::EP3_DOWNLOAD) { - quests = s->quest_index->filter(c->quest_version(), category.category_id); + quests = s->quest_index->filter(category.category_id, c->quest_version()); break; } } @@ -1963,7 +1967,7 @@ static void on_10(shared_ptr c, uint16_t, uint32_t, const string& data) break; } shared_ptr l = c->lobby.lock(); - auto quests = s->quest_index->filter(c->quest_version(), item_id); + auto quests = s->quest_index->filter(item_id, c->quest_version()); // Hack: Assume the menu to be sent is the download quest menu if the // client is not in any lobby @@ -1977,11 +1981,16 @@ static void on_10(shared_ptr c, uint16_t, uint32_t, const string& data) send_lobby_message_box(c, u"$C6Quests are not available."); break; } - auto q = s->quest_index->get(c->quest_version(), item_id); + auto q = s->quest_index->get(item_id); if (!q) { send_lobby_message_box(c, u"$C6Quest does not exist."); break; } + auto vq = q->version(c->quest_version()); + if (!vq) { + send_lobby_message_box(c, u"$C6Quest does not exist\nfor this game version."); + break; + } // If the client is not in a lobby, send the quest as a download quest. // Otherwise, they must be in a game to load a quest. @@ -1992,13 +2001,13 @@ static void on_10(shared_ptr c, uint16_t, uint32_t, const string& data) } bool is_ep3 = (q->episode == Episode::EP3); - string bin_basename = q->bin_filename(); - shared_ptr bin_contents = q->bin_contents(); + string bin_basename = vq->bin_filename(); + shared_ptr bin_contents = vq->bin_contents(); string dat_basename; shared_ptr dat_contents; if (!is_ep3) { - dat_basename = q->dat_filename(); - dat_contents = q->dat_contents(); + dat_basename = vq->dat_filename(); + dat_contents = vq->dat_contents(); } if (l) { @@ -2043,13 +2052,15 @@ static void on_10(shared_ptr c, uint16_t, uint32_t, const string& data) // Episode 3 uses the download quest commands (A6/A7) but does not // expect the server to have already encrypted the quest files, unlike // other versions. + // TODO: This is not true for Episode 3 Trial Edition. We also would + // have to convert the map to MapDefinitionTrial, though. if (!is_ep3) { - q = q->create_download_quest(); + vq = vq->create_download_quest(); } - send_open_quest_file(c, quest_name, bin_basename, q->bin_contents(), + send_open_quest_file(c, quest_name, bin_basename, vq->bin_contents(), is_ep3 ? QuestFileType::EPISODE_3 : QuestFileType::DOWNLOAD); if (dat_contents) { - send_open_quest_file(c, quest_name, dat_basename, q->dat_contents(), + send_open_quest_file(c, quest_name, dat_basename, vq->dat_contents(), is_ep3 ? QuestFileType::EPISODE_3 : QuestFileType::DOWNLOAD); } } @@ -2394,7 +2405,7 @@ static void on_AC_V3_BB(shared_ptr c, uint16_t, uint32_t, const string& (l->base_version == GameVersion::BB) && l->map && l->quest) { - auto dat_contents = prs_decompress(*l->quest->dat_contents()); + auto dat_contents = prs_decompress(*l->quest->version(QuestScriptVersion::BB_V4)->dat_contents()); l->map->clear(); l->map->add_enemies_from_quest_data(l->episode, l->difficulty, l->event, dat_contents.data(), dat_contents.size()); c->log.info("Replaced enemies list with quest layout (%zu entries)", @@ -3587,10 +3598,14 @@ static void on_6F(shared_ptr c, uint16_t, uint32_t, const string& data) if (!l->quest) { throw runtime_error("JOINABLE_QUEST_IN_PROGRESS is set, but lobby has no quest"); } - string bin_basename = l->quest->bin_filename(); - shared_ptr bin_contents = l->quest->bin_contents(); - string dat_basename = l->quest->dat_filename(); - shared_ptr dat_contents = l->quest->dat_contents(); + auto vq = l->quest->version(c->quest_version()); + if (!vq) { + throw runtime_error("JOINABLE_QUEST_IN_PROGRESS is set, but lobby has no quest for client version"); + } + string bin_basename = vq->bin_filename(); + shared_ptr bin_contents = vq->bin_contents(); + string dat_basename = vq->dat_filename(); + shared_ptr dat_contents = vq->dat_contents(); send_open_quest_file(c, bin_basename + ".bin", bin_basename, bin_contents, QuestFileType::ONLINE); diff --git a/src/SendCommands.cc b/src/SendCommands.cc index d2abbc12..1daee00c 100644 --- a/src/SendCommands.cc +++ b/src/SendCommands.cc @@ -1272,13 +1272,19 @@ void send_quest_menu_t( uint32_t menu_id, const vector>& quests, bool is_download_menu) { + auto v = c->quest_version(); vector entries; for (const auto& quest : quests) { + auto vq = quest->version(v); + if (!vq) { + continue; + } + auto& e = entries.emplace_back(); e.menu_id = menu_id; - e.item_id = quest->menu_item_id; - e.name = quest->name; - e.short_description = quest->short_description; + e.item_id = quest->quest_number; + e.name = vq->name; + e.short_description = vq->short_description; add_color_inplace(e.short_description); } send_command_vt(c, is_download_menu ? 0xA4 : 0xA2, entries.size(), entries); diff --git a/system/quests/b001-bb.bin b/system/quests/b001-bb.bin deleted file mode 100644 index 129fdd30..00000000 Binary files a/system/quests/b001-bb.bin and /dev/null differ diff --git a/system/quests/b001-bb.dat b/system/quests/b001-bb.dat deleted file mode 100644 index e5dc677c..00000000 Binary files a/system/quests/b001-bb.dat and /dev/null differ diff --git a/system/quests/b001-dc.bin b/system/quests/b001-dc.bin deleted file mode 100644 index e5c60a1a..00000000 Binary files a/system/quests/b001-dc.bin and /dev/null differ diff --git a/system/quests/b001-dc.dat b/system/quests/b001-dc.dat deleted file mode 100644 index e5dc677c..00000000 Binary files a/system/quests/b001-dc.dat and /dev/null differ diff --git a/system/quests/b001-gc.bin b/system/quests/b001-gc.bin deleted file mode 100644 index 589ad735..00000000 Binary files a/system/quests/b001-gc.bin and /dev/null differ diff --git a/system/quests/b001-gc.dat b/system/quests/b001-gc.dat deleted file mode 100644 index e5dc677c..00000000 Binary files a/system/quests/b001-gc.dat and /dev/null differ diff --git a/system/quests/b001-pc.bin b/system/quests/b001-pc.bin deleted file mode 100644 index 70ff5e64..00000000 Binary files a/system/quests/b001-pc.bin and /dev/null differ diff --git a/system/quests/b001-pc.dat b/system/quests/b001-pc.dat deleted file mode 100644 index 8a78da41..00000000 Binary files a/system/quests/b001-pc.dat and /dev/null differ diff --git a/system/quests/b002-bb.bin b/system/quests/b002-bb.bin deleted file mode 100644 index ca412ace..00000000 Binary files a/system/quests/b002-bb.bin and /dev/null differ diff --git a/system/quests/b002-bb.dat b/system/quests/b002-bb.dat deleted file mode 100644 index 99f12d26..00000000 Binary files a/system/quests/b002-bb.dat and /dev/null differ diff --git a/system/quests/b002-dc.bin b/system/quests/b002-dc.bin deleted file mode 100644 index 49395700..00000000 Binary files a/system/quests/b002-dc.bin and /dev/null differ diff --git a/system/quests/b002-dc.dat b/system/quests/b002-dc.dat deleted file mode 100644 index 4cbf9534..00000000 Binary files a/system/quests/b002-dc.dat and /dev/null differ diff --git a/system/quests/b002-gc.bin b/system/quests/b002-gc.bin deleted file mode 100644 index fad9b394..00000000 Binary files a/system/quests/b002-gc.bin and /dev/null differ diff --git a/system/quests/b002-gc.dat b/system/quests/b002-gc.dat deleted file mode 100644 index 99f12d26..00000000 Binary files a/system/quests/b002-gc.dat and /dev/null differ diff --git a/system/quests/b002-pc.bin b/system/quests/b002-pc.bin deleted file mode 100644 index 24cf84a7..00000000 Binary files a/system/quests/b002-pc.bin and /dev/null differ diff --git a/system/quests/b002-pc.dat b/system/quests/b002-pc.dat deleted file mode 100644 index b8ce7cd5..00000000 Binary files a/system/quests/b002-pc.dat and /dev/null differ diff --git a/system/quests/b003-bb.bin b/system/quests/b003-bb.bin deleted file mode 100644 index 70325bcc..00000000 Binary files a/system/quests/b003-bb.bin and /dev/null differ diff --git a/system/quests/b003-bb.dat b/system/quests/b003-bb.dat deleted file mode 100644 index a2bc021e..00000000 Binary files a/system/quests/b003-bb.dat and /dev/null differ diff --git a/system/quests/b003-dc.bin b/system/quests/b003-dc.bin deleted file mode 100644 index 993ba330..00000000 Binary files a/system/quests/b003-dc.bin and /dev/null differ diff --git a/system/quests/b003-dc.dat b/system/quests/b003-dc.dat deleted file mode 100644 index a2bc021e..00000000 Binary files a/system/quests/b003-dc.dat and /dev/null differ diff --git a/system/quests/b003-gc.bin b/system/quests/b003-gc.bin deleted file mode 100644 index 0d94ec88..00000000 Binary files a/system/quests/b003-gc.bin and /dev/null differ diff --git a/system/quests/b003-gc.dat b/system/quests/b003-gc.dat deleted file mode 100644 index a2bc021e..00000000 Binary files a/system/quests/b003-gc.dat and /dev/null differ diff --git a/system/quests/b003-pc.bin b/system/quests/b003-pc.bin deleted file mode 100644 index 5415adbf..00000000 Binary files a/system/quests/b003-pc.bin and /dev/null differ diff --git a/system/quests/b003-pc.dat b/system/quests/b003-pc.dat deleted file mode 100644 index ca8083f4..00000000 Binary files a/system/quests/b003-pc.dat and /dev/null differ diff --git a/system/quests/b004-bb.bin b/system/quests/b004-bb.bin deleted file mode 100644 index a1839186..00000000 Binary files a/system/quests/b004-bb.bin and /dev/null differ diff --git a/system/quests/b004-bb.dat b/system/quests/b004-bb.dat deleted file mode 100644 index 35267fa1..00000000 Binary files a/system/quests/b004-bb.dat and /dev/null differ diff --git a/system/quests/b004-dc.bin b/system/quests/b004-dc.bin deleted file mode 100644 index 1e0af934..00000000 Binary files a/system/quests/b004-dc.bin and /dev/null differ diff --git a/system/quests/b004-dc.dat b/system/quests/b004-dc.dat deleted file mode 100644 index 35267fa1..00000000 Binary files a/system/quests/b004-dc.dat and /dev/null differ diff --git a/system/quests/b004-gc.bin b/system/quests/b004-gc.bin deleted file mode 100644 index 0465eced..00000000 Binary files a/system/quests/b004-gc.bin and /dev/null differ diff --git a/system/quests/b004-gc.dat b/system/quests/b004-gc.dat deleted file mode 100644 index 35267fa1..00000000 Binary files a/system/quests/b004-gc.dat and /dev/null differ diff --git a/system/quests/b004-pc.bin b/system/quests/b004-pc.bin deleted file mode 100644 index edfdf53e..00000000 Binary files a/system/quests/b004-pc.bin and /dev/null differ diff --git a/system/quests/b004-pc.dat b/system/quests/b004-pc.dat deleted file mode 100644 index 35267fa1..00000000 Binary files a/system/quests/b004-pc.dat and /dev/null differ diff --git a/system/quests/b005-bb.bin b/system/quests/b005-bb.bin deleted file mode 100644 index f7e3a958..00000000 Binary files a/system/quests/b005-bb.bin and /dev/null differ diff --git a/system/quests/b005-bb.dat b/system/quests/b005-bb.dat deleted file mode 100644 index 030ca5af..00000000 Binary files a/system/quests/b005-bb.dat and /dev/null differ diff --git a/system/quests/b005-dc.bin b/system/quests/b005-dc.bin deleted file mode 100644 index 900ebe9e..00000000 Binary files a/system/quests/b005-dc.bin and /dev/null differ diff --git a/system/quests/b005-dc.dat b/system/quests/b005-dc.dat deleted file mode 100644 index 030ca5af..00000000 Binary files a/system/quests/b005-dc.dat and /dev/null differ diff --git a/system/quests/b005-gc.bin b/system/quests/b005-gc.bin deleted file mode 100644 index e45ea30a..00000000 Binary files a/system/quests/b005-gc.bin and /dev/null differ diff --git a/system/quests/b005-gc.dat b/system/quests/b005-gc.dat deleted file mode 100644 index 030ca5af..00000000 Binary files a/system/quests/b005-gc.dat and /dev/null differ diff --git a/system/quests/b005-pc.bin b/system/quests/b005-pc.bin deleted file mode 100644 index b582c3fe..00000000 Binary files a/system/quests/b005-pc.bin and /dev/null differ diff --git a/system/quests/b005-pc.dat b/system/quests/b005-pc.dat deleted file mode 100644 index 030ca5af..00000000 Binary files a/system/quests/b005-pc.dat and /dev/null differ diff --git a/system/quests/b006-bb.bin b/system/quests/b006-bb.bin deleted file mode 100644 index 6568a3e7..00000000 Binary files a/system/quests/b006-bb.bin and /dev/null differ diff --git a/system/quests/b006-bb.dat b/system/quests/b006-bb.dat deleted file mode 100644 index cc4222a6..00000000 Binary files a/system/quests/b006-bb.dat and /dev/null differ diff --git a/system/quests/b006-dc.bin b/system/quests/b006-dc.bin deleted file mode 100644 index 5f97c8a9..00000000 Binary files a/system/quests/b006-dc.bin and /dev/null differ diff --git a/system/quests/b006-dc.dat b/system/quests/b006-dc.dat deleted file mode 100644 index cc4222a6..00000000 Binary files a/system/quests/b006-dc.dat and /dev/null differ diff --git a/system/quests/b006-gc.bin b/system/quests/b006-gc.bin deleted file mode 100644 index cd9314b1..00000000 Binary files a/system/quests/b006-gc.bin and /dev/null differ diff --git a/system/quests/b006-gc.dat b/system/quests/b006-gc.dat deleted file mode 100644 index cc4222a6..00000000 Binary files a/system/quests/b006-gc.dat and /dev/null differ diff --git a/system/quests/b006-pc.bin b/system/quests/b006-pc.bin deleted file mode 100644 index 6865b95d..00000000 Binary files a/system/quests/b006-pc.bin and /dev/null differ diff --git a/system/quests/b006-pc.dat b/system/quests/b006-pc.dat deleted file mode 100644 index cc4222a6..00000000 Binary files a/system/quests/b006-pc.dat and /dev/null differ diff --git a/system/quests/b007-bb.bin b/system/quests/b007-bb.bin deleted file mode 100644 index 2b1bc5e5..00000000 Binary files a/system/quests/b007-bb.bin and /dev/null differ diff --git a/system/quests/b007-bb.dat b/system/quests/b007-bb.dat deleted file mode 100644 index 37bcf36e..00000000 Binary files a/system/quests/b007-bb.dat and /dev/null differ diff --git a/system/quests/b007-dc.bin b/system/quests/b007-dc.bin deleted file mode 100644 index 86fa036f..00000000 Binary files a/system/quests/b007-dc.bin and /dev/null differ diff --git a/system/quests/b007-dc.dat b/system/quests/b007-dc.dat deleted file mode 100644 index 37bcf36e..00000000 Binary files a/system/quests/b007-dc.dat and /dev/null differ diff --git a/system/quests/b007-gc.bin b/system/quests/b007-gc.bin deleted file mode 100644 index a99d5a07..00000000 Binary files a/system/quests/b007-gc.bin and /dev/null differ diff --git a/system/quests/b007-gc.dat b/system/quests/b007-gc.dat deleted file mode 100644 index 37bcf36e..00000000 Binary files a/system/quests/b007-gc.dat and /dev/null differ diff --git a/system/quests/b007-pc.bin b/system/quests/b007-pc.bin deleted file mode 100644 index 3377d87d..00000000 Binary files a/system/quests/b007-pc.bin and /dev/null differ diff --git a/system/quests/b007-pc.dat b/system/quests/b007-pc.dat deleted file mode 100644 index 37bcf36e..00000000 Binary files a/system/quests/b007-pc.dat and /dev/null differ diff --git a/system/quests/b008-bb.bin b/system/quests/b008-bb.bin deleted file mode 100644 index 66146133..00000000 Binary files a/system/quests/b008-bb.bin and /dev/null differ diff --git a/system/quests/b008-bb.dat b/system/quests/b008-bb.dat deleted file mode 100644 index 43fc3117..00000000 Binary files a/system/quests/b008-bb.dat and /dev/null differ diff --git a/system/quests/b008-dc.bin b/system/quests/b008-dc.bin deleted file mode 100644 index 2a524a4d..00000000 Binary files a/system/quests/b008-dc.bin and /dev/null differ diff --git a/system/quests/b008-dc.dat b/system/quests/b008-dc.dat deleted file mode 100644 index 43fc3117..00000000 Binary files a/system/quests/b008-dc.dat and /dev/null differ diff --git a/system/quests/b008-gc.bin b/system/quests/b008-gc.bin deleted file mode 100644 index f646d0b1..00000000 Binary files a/system/quests/b008-gc.bin and /dev/null differ diff --git a/system/quests/b008-gc.dat b/system/quests/b008-gc.dat deleted file mode 100644 index 43fc3117..00000000 Binary files a/system/quests/b008-gc.dat and /dev/null differ diff --git a/system/quests/b008-pc.bin b/system/quests/b008-pc.bin deleted file mode 100644 index 8ea6fa3a..00000000 Binary files a/system/quests/b008-pc.bin and /dev/null differ diff --git a/system/quests/b008-pc.dat b/system/quests/b008-pc.dat deleted file mode 100644 index 43fc3117..00000000 Binary files a/system/quests/b008-pc.dat and /dev/null differ diff --git a/system/quests/b88001-bb.bin b/system/quests/b88001-bb.bin new file mode 100644 index 00000000..e6c74d47 Binary files /dev/null and b/system/quests/b88001-bb.bin differ diff --git a/system/quests/b88001-bb.dat b/system/quests/b88001-bb.dat new file mode 100644 index 00000000..47f4edb4 Binary files /dev/null and b/system/quests/b88001-bb.dat differ diff --git a/system/quests/b88001-dc.bin b/system/quests/b88001-dc.bin new file mode 100644 index 00000000..a6e20d86 Binary files /dev/null and b/system/quests/b88001-dc.bin differ diff --git a/system/quests/b88001-dc.dat b/system/quests/b88001-dc.dat new file mode 100644 index 00000000..47f4edb4 Binary files /dev/null and b/system/quests/b88001-dc.dat differ diff --git a/system/quests/b88001-gc.bin b/system/quests/b88001-gc.bin new file mode 100644 index 00000000..8d7f28c2 Binary files /dev/null and b/system/quests/b88001-gc.bin differ diff --git a/system/quests/b88001-gc.dat b/system/quests/b88001-gc.dat new file mode 100644 index 00000000..47f4edb4 Binary files /dev/null and b/system/quests/b88001-gc.dat differ diff --git a/system/quests/b88001-pc.bin b/system/quests/b88001-pc.bin new file mode 100644 index 00000000..3e110479 Binary files /dev/null and b/system/quests/b88001-pc.bin differ diff --git a/system/quests/b88001-pc.dat b/system/quests/b88001-pc.dat new file mode 100644 index 00000000..02f4e626 Binary files /dev/null and b/system/quests/b88001-pc.dat differ diff --git a/system/quests/b88002-bb.bin b/system/quests/b88002-bb.bin new file mode 100644 index 00000000..94c95b3d Binary files /dev/null and b/system/quests/b88002-bb.bin differ diff --git a/system/quests/b88002-bb.dat b/system/quests/b88002-bb.dat new file mode 100644 index 00000000..cbf251c6 Binary files /dev/null and b/system/quests/b88002-bb.dat differ diff --git a/system/quests/b88002-dc.bin b/system/quests/b88002-dc.bin new file mode 100644 index 00000000..7282ebbb Binary files /dev/null and b/system/quests/b88002-dc.bin differ diff --git a/system/quests/b88002-dc.dat b/system/quests/b88002-dc.dat new file mode 100644 index 00000000..bd5c5aa1 Binary files /dev/null and b/system/quests/b88002-dc.dat differ diff --git a/system/quests/b88002-gc.bin b/system/quests/b88002-gc.bin new file mode 100644 index 00000000..f3f93d4c Binary files /dev/null and b/system/quests/b88002-gc.bin differ diff --git a/system/quests/b88002-gc.dat b/system/quests/b88002-gc.dat new file mode 100644 index 00000000..cbf251c6 Binary files /dev/null and b/system/quests/b88002-gc.dat differ diff --git a/system/quests/b88002-pc.bin b/system/quests/b88002-pc.bin new file mode 100644 index 00000000..f61c6317 Binary files /dev/null and b/system/quests/b88002-pc.bin differ diff --git a/system/quests/b88002-pc.dat b/system/quests/b88002-pc.dat new file mode 100644 index 00000000..76d9412c Binary files /dev/null and b/system/quests/b88002-pc.dat differ diff --git a/system/quests/b88003-bb.bin b/system/quests/b88003-bb.bin new file mode 100644 index 00000000..14246406 Binary files /dev/null and b/system/quests/b88003-bb.bin differ diff --git a/system/quests/b88003-bb.dat b/system/quests/b88003-bb.dat new file mode 100644 index 00000000..95e4b680 Binary files /dev/null and b/system/quests/b88003-bb.dat differ diff --git a/system/quests/b88003-dc.bin b/system/quests/b88003-dc.bin new file mode 100644 index 00000000..52cd0edc Binary files /dev/null and b/system/quests/b88003-dc.bin differ diff --git a/system/quests/b88003-dc.dat b/system/quests/b88003-dc.dat new file mode 100644 index 00000000..95e4b680 Binary files /dev/null and b/system/quests/b88003-dc.dat differ diff --git a/system/quests/b88003-gc.bin b/system/quests/b88003-gc.bin new file mode 100644 index 00000000..c3f97b19 Binary files /dev/null and b/system/quests/b88003-gc.bin differ diff --git a/system/quests/b88003-gc.dat b/system/quests/b88003-gc.dat new file mode 100644 index 00000000..95e4b680 Binary files /dev/null and b/system/quests/b88003-gc.dat differ diff --git a/system/quests/b88003-pc.bin b/system/quests/b88003-pc.bin new file mode 100644 index 00000000..dbbcf1e4 Binary files /dev/null and b/system/quests/b88003-pc.bin differ diff --git a/system/quests/b88003-pc.dat b/system/quests/b88003-pc.dat new file mode 100644 index 00000000..0aad9004 Binary files /dev/null and b/system/quests/b88003-pc.dat differ diff --git a/system/quests/b88004-bb.bin b/system/quests/b88004-bb.bin new file mode 100644 index 00000000..09a233ce Binary files /dev/null and b/system/quests/b88004-bb.bin differ diff --git a/system/quests/b88004-bb.dat b/system/quests/b88004-bb.dat new file mode 100644 index 00000000..c38a946c Binary files /dev/null and b/system/quests/b88004-bb.dat differ diff --git a/system/quests/b88004-dc.bin b/system/quests/b88004-dc.bin new file mode 100644 index 00000000..a2e43b05 Binary files /dev/null and b/system/quests/b88004-dc.bin differ diff --git a/system/quests/b88004-dc.dat b/system/quests/b88004-dc.dat new file mode 100644 index 00000000..c38a946c Binary files /dev/null and b/system/quests/b88004-dc.dat differ diff --git a/system/quests/b88004-gc.bin b/system/quests/b88004-gc.bin new file mode 100644 index 00000000..43b19f85 Binary files /dev/null and b/system/quests/b88004-gc.bin differ diff --git a/system/quests/b88004-gc.dat b/system/quests/b88004-gc.dat new file mode 100644 index 00000000..c38a946c Binary files /dev/null and b/system/quests/b88004-gc.dat differ diff --git a/system/quests/b88004-pc.bin b/system/quests/b88004-pc.bin new file mode 100644 index 00000000..24c62ebf Binary files /dev/null and b/system/quests/b88004-pc.bin differ diff --git a/system/quests/b88004-pc.dat b/system/quests/b88004-pc.dat new file mode 100644 index 00000000..c38a946c Binary files /dev/null and b/system/quests/b88004-pc.dat differ diff --git a/system/quests/b88005-bb.bin b/system/quests/b88005-bb.bin new file mode 100644 index 00000000..4e4d86f3 Binary files /dev/null and b/system/quests/b88005-bb.bin differ diff --git a/system/quests/b88005-bb.dat b/system/quests/b88005-bb.dat new file mode 100644 index 00000000..5c6b12ef Binary files /dev/null and b/system/quests/b88005-bb.dat differ diff --git a/system/quests/b88005-dc.bin b/system/quests/b88005-dc.bin new file mode 100644 index 00000000..4bf358a9 Binary files /dev/null and b/system/quests/b88005-dc.bin differ diff --git a/system/quests/b88005-dc.dat b/system/quests/b88005-dc.dat new file mode 100644 index 00000000..5c6b12ef Binary files /dev/null and b/system/quests/b88005-dc.dat differ diff --git a/system/quests/b88005-gc.bin b/system/quests/b88005-gc.bin new file mode 100644 index 00000000..3d00dceb Binary files /dev/null and b/system/quests/b88005-gc.bin differ diff --git a/system/quests/b88005-gc.dat b/system/quests/b88005-gc.dat new file mode 100644 index 00000000..5c6b12ef Binary files /dev/null and b/system/quests/b88005-gc.dat differ diff --git a/system/quests/b88005-pc.bin b/system/quests/b88005-pc.bin new file mode 100644 index 00000000..07988c9e Binary files /dev/null and b/system/quests/b88005-pc.bin differ diff --git a/system/quests/b88005-pc.dat b/system/quests/b88005-pc.dat new file mode 100644 index 00000000..5c6b12ef Binary files /dev/null and b/system/quests/b88005-pc.dat differ diff --git a/system/quests/b88006-bb.bin b/system/quests/b88006-bb.bin new file mode 100644 index 00000000..ae2d094d Binary files /dev/null and b/system/quests/b88006-bb.bin differ diff --git a/system/quests/b88006-bb.dat b/system/quests/b88006-bb.dat new file mode 100644 index 00000000..aab8894d Binary files /dev/null and b/system/quests/b88006-bb.dat differ diff --git a/system/quests/b88006-dc.bin b/system/quests/b88006-dc.bin new file mode 100644 index 00000000..844de851 Binary files /dev/null and b/system/quests/b88006-dc.bin differ diff --git a/system/quests/b88006-dc.dat b/system/quests/b88006-dc.dat new file mode 100644 index 00000000..aab8894d Binary files /dev/null and b/system/quests/b88006-dc.dat differ diff --git a/system/quests/b88006-gc.bin b/system/quests/b88006-gc.bin new file mode 100644 index 00000000..287696d2 Binary files /dev/null and b/system/quests/b88006-gc.bin differ diff --git a/system/quests/b88006-gc.dat b/system/quests/b88006-gc.dat new file mode 100644 index 00000000..aab8894d Binary files /dev/null and b/system/quests/b88006-gc.dat differ diff --git a/system/quests/b88006-pc.bin b/system/quests/b88006-pc.bin new file mode 100644 index 00000000..77acb181 Binary files /dev/null and b/system/quests/b88006-pc.bin differ diff --git a/system/quests/b88006-pc.dat b/system/quests/b88006-pc.dat new file mode 100644 index 00000000..aab8894d Binary files /dev/null and b/system/quests/b88006-pc.dat differ diff --git a/system/quests/b88007-bb.bin b/system/quests/b88007-bb.bin new file mode 100644 index 00000000..30a74c35 Binary files /dev/null and b/system/quests/b88007-bb.bin differ diff --git a/system/quests/b88007-bb.dat b/system/quests/b88007-bb.dat new file mode 100644 index 00000000..245e1c3c Binary files /dev/null and b/system/quests/b88007-bb.dat differ diff --git a/system/quests/b88007-dc.bin b/system/quests/b88007-dc.bin new file mode 100644 index 00000000..a1cd89fc Binary files /dev/null and b/system/quests/b88007-dc.bin differ diff --git a/system/quests/b88007-dc.dat b/system/quests/b88007-dc.dat new file mode 100644 index 00000000..245e1c3c Binary files /dev/null and b/system/quests/b88007-dc.dat differ diff --git a/system/quests/b88007-gc.bin b/system/quests/b88007-gc.bin new file mode 100644 index 00000000..1d6678fe Binary files /dev/null and b/system/quests/b88007-gc.bin differ diff --git a/system/quests/b88007-gc.dat b/system/quests/b88007-gc.dat new file mode 100644 index 00000000..245e1c3c Binary files /dev/null and b/system/quests/b88007-gc.dat differ diff --git a/system/quests/b88007-pc.bin b/system/quests/b88007-pc.bin new file mode 100644 index 00000000..21448752 Binary files /dev/null and b/system/quests/b88007-pc.bin differ diff --git a/system/quests/b88007-pc.dat b/system/quests/b88007-pc.dat new file mode 100644 index 00000000..245e1c3c Binary files /dev/null and b/system/quests/b88007-pc.dat differ diff --git a/system/quests/b88008-bb.bin b/system/quests/b88008-bb.bin new file mode 100644 index 00000000..aea242f9 Binary files /dev/null and b/system/quests/b88008-bb.bin differ diff --git a/system/quests/b88008-bb.dat b/system/quests/b88008-bb.dat new file mode 100644 index 00000000..7b79cab9 Binary files /dev/null and b/system/quests/b88008-bb.dat differ diff --git a/system/quests/b88008-dc.bin b/system/quests/b88008-dc.bin new file mode 100644 index 00000000..217aad8e Binary files /dev/null and b/system/quests/b88008-dc.bin differ diff --git a/system/quests/b88008-dc.dat b/system/quests/b88008-dc.dat new file mode 100644 index 00000000..7b79cab9 Binary files /dev/null and b/system/quests/b88008-dc.dat differ diff --git a/system/quests/b88008-gc.bin b/system/quests/b88008-gc.bin new file mode 100644 index 00000000..40f87367 Binary files /dev/null and b/system/quests/b88008-gc.bin differ diff --git a/system/quests/b88008-gc.dat b/system/quests/b88008-gc.dat new file mode 100644 index 00000000..7b79cab9 Binary files /dev/null and b/system/quests/b88008-gc.dat differ diff --git a/system/quests/b88008-pc.bin b/system/quests/b88008-pc.bin new file mode 100644 index 00000000..57bc00c6 Binary files /dev/null and b/system/quests/b88008-pc.bin differ diff --git a/system/quests/b88008-pc.dat b/system/quests/b88008-pc.dat new file mode 100644 index 00000000..7b79cab9 Binary files /dev/null and b/system/quests/b88008-pc.dat differ diff --git a/system/quests/c101-bb.bin b/system/quests/c101-bb.bin deleted file mode 100644 index 6674af48..00000000 Binary files a/system/quests/c101-bb.bin and /dev/null differ diff --git a/system/quests/c101-bb.dat b/system/quests/c101-bb.dat deleted file mode 100644 index 0714f78a..00000000 Binary files a/system/quests/c101-bb.dat and /dev/null differ diff --git a/system/quests/c101-dc.bin b/system/quests/c101-dc.bin deleted file mode 100644 index 023d84ba..00000000 Binary files a/system/quests/c101-dc.bin and /dev/null differ diff --git a/system/quests/c101-dc.dat b/system/quests/c101-dc.dat deleted file mode 100644 index e4fc7258..00000000 Binary files a/system/quests/c101-dc.dat and /dev/null differ diff --git a/system/quests/c101-gc.bin b/system/quests/c101-gc.bin deleted file mode 100644 index 26c7cf2b..00000000 Binary files a/system/quests/c101-gc.bin and /dev/null differ diff --git a/system/quests/c101-gc.dat b/system/quests/c101-gc.dat deleted file mode 100644 index e4fc7258..00000000 Binary files a/system/quests/c101-gc.dat and /dev/null differ diff --git a/system/quests/c101-pc.bin b/system/quests/c101-pc.bin deleted file mode 100644 index 0935efc7..00000000 Binary files a/system/quests/c101-pc.bin and /dev/null differ diff --git a/system/quests/c101-pc.dat b/system/quests/c101-pc.dat deleted file mode 100644 index e4fc7258..00000000 Binary files a/system/quests/c101-pc.dat and /dev/null differ diff --git a/system/quests/c102-bb.bin b/system/quests/c102-bb.bin deleted file mode 100644 index 5dc33795..00000000 Binary files a/system/quests/c102-bb.bin and /dev/null differ diff --git a/system/quests/c102-bb.dat b/system/quests/c102-bb.dat deleted file mode 100644 index d7a9fe35..00000000 Binary files a/system/quests/c102-bb.dat and /dev/null differ diff --git a/system/quests/c102-dc.bin b/system/quests/c102-dc.bin deleted file mode 100644 index ef1456bf..00000000 Binary files a/system/quests/c102-dc.bin and /dev/null differ diff --git a/system/quests/c102-dc.dat b/system/quests/c102-dc.dat deleted file mode 100644 index 4f71bd94..00000000 Binary files a/system/quests/c102-dc.dat and /dev/null differ diff --git a/system/quests/c102-gc.bin b/system/quests/c102-gc.bin deleted file mode 100644 index e40d070e..00000000 Binary files a/system/quests/c102-gc.bin and /dev/null differ diff --git a/system/quests/c102-gc.dat b/system/quests/c102-gc.dat deleted file mode 100644 index 4f71bd94..00000000 Binary files a/system/quests/c102-gc.dat and /dev/null differ diff --git a/system/quests/c102-pc.bin b/system/quests/c102-pc.bin deleted file mode 100644 index 6f1cfb7f..00000000 Binary files a/system/quests/c102-pc.bin and /dev/null differ diff --git a/system/quests/c102-pc.dat b/system/quests/c102-pc.dat deleted file mode 100644 index 4f71bd94..00000000 Binary files a/system/quests/c102-pc.dat and /dev/null differ diff --git a/system/quests/c103-bb.bin b/system/quests/c103-bb.bin deleted file mode 100644 index 08d3d060..00000000 Binary files a/system/quests/c103-bb.bin and /dev/null differ diff --git a/system/quests/c103-bb.dat b/system/quests/c103-bb.dat deleted file mode 100644 index da605511..00000000 Binary files a/system/quests/c103-bb.dat and /dev/null differ diff --git a/system/quests/c103-dc.bin b/system/quests/c103-dc.bin deleted file mode 100644 index b02af982..00000000 Binary files a/system/quests/c103-dc.bin and /dev/null differ diff --git a/system/quests/c103-dc.dat b/system/quests/c103-dc.dat deleted file mode 100644 index e5ee9c85..00000000 Binary files a/system/quests/c103-dc.dat and /dev/null differ diff --git a/system/quests/c103-gc.bin b/system/quests/c103-gc.bin deleted file mode 100644 index 317a3434..00000000 Binary files a/system/quests/c103-gc.bin and /dev/null differ diff --git a/system/quests/c103-gc.dat b/system/quests/c103-gc.dat deleted file mode 100644 index e5ee9c85..00000000 Binary files a/system/quests/c103-gc.dat and /dev/null differ diff --git a/system/quests/c103-pc.bin b/system/quests/c103-pc.bin deleted file mode 100644 index fe9b788b..00000000 Binary files a/system/quests/c103-pc.bin and /dev/null differ diff --git a/system/quests/c103-pc.dat b/system/quests/c103-pc.dat deleted file mode 100644 index e5ee9c85..00000000 Binary files a/system/quests/c103-pc.dat and /dev/null differ diff --git a/system/quests/c104-bb.bin b/system/quests/c104-bb.bin deleted file mode 100644 index a3ee297e..00000000 Binary files a/system/quests/c104-bb.bin and /dev/null differ diff --git a/system/quests/c104-bb.dat b/system/quests/c104-bb.dat deleted file mode 100644 index 732e7c46..00000000 Binary files a/system/quests/c104-bb.dat and /dev/null differ diff --git a/system/quests/c104-dc.bin b/system/quests/c104-dc.bin deleted file mode 100644 index 86e55d20..00000000 Binary files a/system/quests/c104-dc.bin and /dev/null differ diff --git a/system/quests/c104-dc.dat b/system/quests/c104-dc.dat deleted file mode 100644 index cde6710c..00000000 Binary files a/system/quests/c104-dc.dat and /dev/null differ diff --git a/system/quests/c104-gc.bin b/system/quests/c104-gc.bin deleted file mode 100644 index f13a89e0..00000000 Binary files a/system/quests/c104-gc.bin and /dev/null differ diff --git a/system/quests/c104-gc.dat b/system/quests/c104-gc.dat deleted file mode 100644 index 81c907fd..00000000 Binary files a/system/quests/c104-gc.dat and /dev/null differ diff --git a/system/quests/c104-pc.bin b/system/quests/c104-pc.bin deleted file mode 100644 index 932db186..00000000 Binary files a/system/quests/c104-pc.bin and /dev/null differ diff --git a/system/quests/c104-pc.dat b/system/quests/c104-pc.dat deleted file mode 100644 index cde6710c..00000000 Binary files a/system/quests/c104-pc.dat and /dev/null differ diff --git a/system/quests/c105-bb.bin b/system/quests/c105-bb.bin deleted file mode 100644 index 3499f15d..00000000 Binary files a/system/quests/c105-bb.bin and /dev/null differ diff --git a/system/quests/c105-bb.dat b/system/quests/c105-bb.dat deleted file mode 100644 index f1649b4d..00000000 Binary files a/system/quests/c105-bb.dat and /dev/null differ diff --git a/system/quests/c105-dc.bin b/system/quests/c105-dc.bin deleted file mode 100644 index 5fb37500..00000000 Binary files a/system/quests/c105-dc.bin and /dev/null differ diff --git a/system/quests/c105-dc.dat b/system/quests/c105-dc.dat deleted file mode 100644 index 4b121fc3..00000000 Binary files a/system/quests/c105-dc.dat and /dev/null differ diff --git a/system/quests/c105-gc.bin b/system/quests/c105-gc.bin deleted file mode 100644 index 74eecde6..00000000 Binary files a/system/quests/c105-gc.bin and /dev/null differ diff --git a/system/quests/c105-gc.dat b/system/quests/c105-gc.dat deleted file mode 100644 index 4b121fc3..00000000 Binary files a/system/quests/c105-gc.dat and /dev/null differ diff --git a/system/quests/c105-pc.bin b/system/quests/c105-pc.bin deleted file mode 100644 index a03d280e..00000000 Binary files a/system/quests/c105-pc.bin and /dev/null differ diff --git a/system/quests/c105-pc.dat b/system/quests/c105-pc.dat deleted file mode 100644 index 4b121fc3..00000000 Binary files a/system/quests/c105-pc.dat and /dev/null differ diff --git a/system/quests/c106-bb.bin b/system/quests/c106-bb.bin deleted file mode 100644 index e732798f..00000000 Binary files a/system/quests/c106-bb.bin and /dev/null differ diff --git a/system/quests/c106-bb.dat b/system/quests/c106-bb.dat deleted file mode 100644 index 02db5706..00000000 Binary files a/system/quests/c106-bb.dat and /dev/null differ diff --git a/system/quests/c106-dc.bin b/system/quests/c106-dc.bin deleted file mode 100644 index 349afbe7..00000000 Binary files a/system/quests/c106-dc.bin and /dev/null differ diff --git a/system/quests/c106-dc.dat b/system/quests/c106-dc.dat deleted file mode 100644 index 4cea0a1d..00000000 Binary files a/system/quests/c106-dc.dat and /dev/null differ diff --git a/system/quests/c106-gc.bin b/system/quests/c106-gc.bin deleted file mode 100644 index 9d87ae5c..00000000 Binary files a/system/quests/c106-gc.bin and /dev/null differ diff --git a/system/quests/c106-gc.dat b/system/quests/c106-gc.dat deleted file mode 100644 index 4cea0a1d..00000000 Binary files a/system/quests/c106-gc.dat and /dev/null differ diff --git a/system/quests/c106-pc.bin b/system/quests/c106-pc.bin deleted file mode 100644 index 0959d7f4..00000000 Binary files a/system/quests/c106-pc.bin and /dev/null differ diff --git a/system/quests/c106-pc.dat b/system/quests/c106-pc.dat deleted file mode 100644 index 4cea0a1d..00000000 Binary files a/system/quests/c106-pc.dat and /dev/null differ diff --git a/system/quests/c107-bb.bin b/system/quests/c107-bb.bin deleted file mode 100644 index 10a36caf..00000000 Binary files a/system/quests/c107-bb.bin and /dev/null differ diff --git a/system/quests/c107-bb.dat b/system/quests/c107-bb.dat deleted file mode 100644 index 409243e8..00000000 Binary files a/system/quests/c107-bb.dat and /dev/null differ diff --git a/system/quests/c107-dc.bin b/system/quests/c107-dc.bin deleted file mode 100644 index 341c390d..00000000 Binary files a/system/quests/c107-dc.bin and /dev/null differ diff --git a/system/quests/c107-dc.dat b/system/quests/c107-dc.dat deleted file mode 100644 index 963f34e2..00000000 Binary files a/system/quests/c107-dc.dat and /dev/null differ diff --git a/system/quests/c107-gc.bin b/system/quests/c107-gc.bin deleted file mode 100644 index e89683db..00000000 Binary files a/system/quests/c107-gc.bin and /dev/null differ diff --git a/system/quests/c107-gc.dat b/system/quests/c107-gc.dat deleted file mode 100644 index 963f34e2..00000000 Binary files a/system/quests/c107-gc.dat and /dev/null differ diff --git a/system/quests/c107-pc.bin b/system/quests/c107-pc.bin deleted file mode 100644 index 0d2153c1..00000000 Binary files a/system/quests/c107-pc.bin and /dev/null differ diff --git a/system/quests/c107-pc.dat b/system/quests/c107-pc.dat deleted file mode 100644 index 963f34e2..00000000 Binary files a/system/quests/c107-pc.dat and /dev/null differ diff --git a/system/quests/c108-bb.bin b/system/quests/c108-bb.bin deleted file mode 100644 index 96a7fc6d..00000000 Binary files a/system/quests/c108-bb.bin and /dev/null differ diff --git a/system/quests/c108-bb.dat b/system/quests/c108-bb.dat deleted file mode 100644 index 008b88f3..00000000 Binary files a/system/quests/c108-bb.dat and /dev/null differ diff --git a/system/quests/c108-dc.bin b/system/quests/c108-dc.bin deleted file mode 100644 index 4f047053..00000000 Binary files a/system/quests/c108-dc.bin and /dev/null differ diff --git a/system/quests/c108-dc.dat b/system/quests/c108-dc.dat deleted file mode 100644 index c5a80652..00000000 Binary files a/system/quests/c108-dc.dat and /dev/null differ diff --git a/system/quests/c108-gc.bin b/system/quests/c108-gc.bin deleted file mode 100644 index bf4e9254..00000000 Binary files a/system/quests/c108-gc.bin and /dev/null differ diff --git a/system/quests/c108-gc.dat b/system/quests/c108-gc.dat deleted file mode 100644 index c5a80652..00000000 Binary files a/system/quests/c108-gc.dat and /dev/null differ diff --git a/system/quests/c108-pc.bin b/system/quests/c108-pc.bin deleted file mode 100644 index f1d0dceb..00000000 Binary files a/system/quests/c108-pc.bin and /dev/null differ diff --git a/system/quests/c108-pc.dat b/system/quests/c108-pc.dat deleted file mode 100644 index c5a80652..00000000 Binary files a/system/quests/c108-pc.dat and /dev/null differ diff --git a/system/quests/c109-bb.bin b/system/quests/c109-bb.bin deleted file mode 100644 index c24299f5..00000000 Binary files a/system/quests/c109-bb.bin and /dev/null differ diff --git a/system/quests/c109-bb.dat b/system/quests/c109-bb.dat deleted file mode 100644 index 21a8a156..00000000 Binary files a/system/quests/c109-bb.dat and /dev/null differ diff --git a/system/quests/c109-dc.bin b/system/quests/c109-dc.bin deleted file mode 100644 index 25782945..00000000 Binary files a/system/quests/c109-dc.bin and /dev/null differ diff --git a/system/quests/c109-dc.dat b/system/quests/c109-dc.dat deleted file mode 100644 index 66b62dc0..00000000 Binary files a/system/quests/c109-dc.dat and /dev/null differ diff --git a/system/quests/c109-gc.bin b/system/quests/c109-gc.bin deleted file mode 100644 index 1fd5dad3..00000000 Binary files a/system/quests/c109-gc.bin and /dev/null differ diff --git a/system/quests/c109-gc.dat b/system/quests/c109-gc.dat deleted file mode 100644 index 66b62dc0..00000000 Binary files a/system/quests/c109-gc.dat and /dev/null differ diff --git a/system/quests/c109-pc.bin b/system/quests/c109-pc.bin deleted file mode 100644 index 719fd396..00000000 Binary files a/system/quests/c109-pc.bin and /dev/null differ diff --git a/system/quests/c109-pc.dat b/system/quests/c109-pc.dat deleted file mode 100644 index 3f49d921..00000000 Binary files a/system/quests/c109-pc.dat and /dev/null differ diff --git a/system/quests/c88101-bb.bin b/system/quests/c88101-bb.bin new file mode 100644 index 00000000..02a2faae Binary files /dev/null and b/system/quests/c88101-bb.bin differ diff --git a/system/quests/c88101-bb.dat b/system/quests/c88101-bb.dat new file mode 100644 index 00000000..9a1724c0 Binary files /dev/null and b/system/quests/c88101-bb.dat differ diff --git a/system/quests/c88101-dc.bin b/system/quests/c88101-dc.bin new file mode 100644 index 00000000..eb4d6ce1 Binary files /dev/null and b/system/quests/c88101-dc.bin differ diff --git a/system/quests/c88101-dc.dat b/system/quests/c88101-dc.dat new file mode 100644 index 00000000..3c90ed96 Binary files /dev/null and b/system/quests/c88101-dc.dat differ diff --git a/system/quests/c88101-gc.bin b/system/quests/c88101-gc.bin new file mode 100644 index 00000000..64a34370 Binary files /dev/null and b/system/quests/c88101-gc.bin differ diff --git a/system/quests/c88101-gc.dat b/system/quests/c88101-gc.dat new file mode 100644 index 00000000..3c90ed96 Binary files /dev/null and b/system/quests/c88101-gc.dat differ diff --git a/system/quests/c88101-pc.bin b/system/quests/c88101-pc.bin new file mode 100644 index 00000000..54f5230d Binary files /dev/null and b/system/quests/c88101-pc.bin differ diff --git a/system/quests/c88101-pc.dat b/system/quests/c88101-pc.dat new file mode 100644 index 00000000..3c90ed96 Binary files /dev/null and b/system/quests/c88101-pc.dat differ diff --git a/system/quests/c88102-bb.bin b/system/quests/c88102-bb.bin new file mode 100644 index 00000000..04933b14 Binary files /dev/null and b/system/quests/c88102-bb.bin differ diff --git a/system/quests/c88102-bb.dat b/system/quests/c88102-bb.dat new file mode 100644 index 00000000..80a5d056 Binary files /dev/null and b/system/quests/c88102-bb.dat differ diff --git a/system/quests/c88102-dc.bin b/system/quests/c88102-dc.bin new file mode 100644 index 00000000..aa133dea Binary files /dev/null and b/system/quests/c88102-dc.bin differ diff --git a/system/quests/c88102-dc.dat b/system/quests/c88102-dc.dat new file mode 100644 index 00000000..1ecb2ad3 Binary files /dev/null and b/system/quests/c88102-dc.dat differ diff --git a/system/quests/c88102-gc.bin b/system/quests/c88102-gc.bin new file mode 100644 index 00000000..f2d344ea Binary files /dev/null and b/system/quests/c88102-gc.bin differ diff --git a/system/quests/c88102-gc.dat b/system/quests/c88102-gc.dat new file mode 100644 index 00000000..1ecb2ad3 Binary files /dev/null and b/system/quests/c88102-gc.dat differ diff --git a/system/quests/c88102-pc.bin b/system/quests/c88102-pc.bin new file mode 100644 index 00000000..c706aaa2 Binary files /dev/null and b/system/quests/c88102-pc.bin differ diff --git a/system/quests/c88102-pc.dat b/system/quests/c88102-pc.dat new file mode 100644 index 00000000..1ecb2ad3 Binary files /dev/null and b/system/quests/c88102-pc.dat differ diff --git a/system/quests/c88103-bb.bin b/system/quests/c88103-bb.bin new file mode 100644 index 00000000..47a8db6b Binary files /dev/null and b/system/quests/c88103-bb.bin differ diff --git a/system/quests/c88103-bb.dat b/system/quests/c88103-bb.dat new file mode 100644 index 00000000..a2ff813a Binary files /dev/null and b/system/quests/c88103-bb.dat differ diff --git a/system/quests/c88103-dc.bin b/system/quests/c88103-dc.bin new file mode 100644 index 00000000..7592dcdf Binary files /dev/null and b/system/quests/c88103-dc.bin differ diff --git a/system/quests/c88103-dc.dat b/system/quests/c88103-dc.dat new file mode 100644 index 00000000..d9c74811 Binary files /dev/null and b/system/quests/c88103-dc.dat differ diff --git a/system/quests/c88103-gc.bin b/system/quests/c88103-gc.bin new file mode 100644 index 00000000..d235ea23 Binary files /dev/null and b/system/quests/c88103-gc.bin differ diff --git a/system/quests/c88103-gc.dat b/system/quests/c88103-gc.dat new file mode 100644 index 00000000..d9c74811 Binary files /dev/null and b/system/quests/c88103-gc.dat differ diff --git a/system/quests/c88103-pc.bin b/system/quests/c88103-pc.bin new file mode 100644 index 00000000..87849550 Binary files /dev/null and b/system/quests/c88103-pc.bin differ diff --git a/system/quests/c88103-pc.dat b/system/quests/c88103-pc.dat new file mode 100644 index 00000000..d9c74811 Binary files /dev/null and b/system/quests/c88103-pc.dat differ diff --git a/system/quests/c88104-bb.bin b/system/quests/c88104-bb.bin new file mode 100644 index 00000000..2c60db36 Binary files /dev/null and b/system/quests/c88104-bb.bin differ diff --git a/system/quests/c88104-bb.dat b/system/quests/c88104-bb.dat new file mode 100644 index 00000000..1d5eaddd Binary files /dev/null and b/system/quests/c88104-bb.dat differ diff --git a/system/quests/c88104-dc.bin b/system/quests/c88104-dc.bin new file mode 100644 index 00000000..053f42c1 Binary files /dev/null and b/system/quests/c88104-dc.bin differ diff --git a/system/quests/c88104-dc.dat b/system/quests/c88104-dc.dat new file mode 100644 index 00000000..bf6a47fa Binary files /dev/null and b/system/quests/c88104-dc.dat differ diff --git a/system/quests/c88104-gc.bin b/system/quests/c88104-gc.bin new file mode 100644 index 00000000..c0e59952 Binary files /dev/null and b/system/quests/c88104-gc.bin differ diff --git a/system/quests/c88104-gc.dat b/system/quests/c88104-gc.dat new file mode 100644 index 00000000..e1bf5212 Binary files /dev/null and b/system/quests/c88104-gc.dat differ diff --git a/system/quests/c88104-pc.bin b/system/quests/c88104-pc.bin new file mode 100644 index 00000000..8c505af5 Binary files /dev/null and b/system/quests/c88104-pc.bin differ diff --git a/system/quests/c88104-pc.dat b/system/quests/c88104-pc.dat new file mode 100644 index 00000000..bf6a47fa Binary files /dev/null and b/system/quests/c88104-pc.dat differ diff --git a/system/quests/c88105-bb.bin b/system/quests/c88105-bb.bin new file mode 100644 index 00000000..9924ffc0 Binary files /dev/null and b/system/quests/c88105-bb.bin differ diff --git a/system/quests/c88105-bb.dat b/system/quests/c88105-bb.dat new file mode 100644 index 00000000..1718072b Binary files /dev/null and b/system/quests/c88105-bb.dat differ diff --git a/system/quests/c88105-dc.bin b/system/quests/c88105-dc.bin new file mode 100644 index 00000000..3c2b7341 Binary files /dev/null and b/system/quests/c88105-dc.bin differ diff --git a/system/quests/c88105-dc.dat b/system/quests/c88105-dc.dat new file mode 100644 index 00000000..f890ce9f Binary files /dev/null and b/system/quests/c88105-dc.dat differ diff --git a/system/quests/c88105-gc.bin b/system/quests/c88105-gc.bin new file mode 100644 index 00000000..cff30ac2 Binary files /dev/null and b/system/quests/c88105-gc.bin differ diff --git a/system/quests/c88105-gc.dat b/system/quests/c88105-gc.dat new file mode 100644 index 00000000..f890ce9f Binary files /dev/null and b/system/quests/c88105-gc.dat differ diff --git a/system/quests/c88105-pc.bin b/system/quests/c88105-pc.bin new file mode 100644 index 00000000..e6a6ad59 Binary files /dev/null and b/system/quests/c88105-pc.bin differ diff --git a/system/quests/c88105-pc.dat b/system/quests/c88105-pc.dat new file mode 100644 index 00000000..f890ce9f Binary files /dev/null and b/system/quests/c88105-pc.dat differ diff --git a/system/quests/c88106-bb.bin b/system/quests/c88106-bb.bin new file mode 100644 index 00000000..3c3b31f6 Binary files /dev/null and b/system/quests/c88106-bb.bin differ diff --git a/system/quests/c88106-bb.dat b/system/quests/c88106-bb.dat new file mode 100644 index 00000000..6003a886 Binary files /dev/null and b/system/quests/c88106-bb.dat differ diff --git a/system/quests/c88106-dc.bin b/system/quests/c88106-dc.bin new file mode 100644 index 00000000..df5c0859 Binary files /dev/null and b/system/quests/c88106-dc.bin differ diff --git a/system/quests/c88106-dc.dat b/system/quests/c88106-dc.dat new file mode 100644 index 00000000..98e0d04a Binary files /dev/null and b/system/quests/c88106-dc.dat differ diff --git a/system/quests/c88106-gc.bin b/system/quests/c88106-gc.bin new file mode 100644 index 00000000..a7568381 Binary files /dev/null and b/system/quests/c88106-gc.bin differ diff --git a/system/quests/c88106-gc.dat b/system/quests/c88106-gc.dat new file mode 100644 index 00000000..98e0d04a Binary files /dev/null and b/system/quests/c88106-gc.dat differ diff --git a/system/quests/c88106-pc.bin b/system/quests/c88106-pc.bin new file mode 100644 index 00000000..9a963a2c Binary files /dev/null and b/system/quests/c88106-pc.bin differ diff --git a/system/quests/c88106-pc.dat b/system/quests/c88106-pc.dat new file mode 100644 index 00000000..98e0d04a Binary files /dev/null and b/system/quests/c88106-pc.dat differ diff --git a/system/quests/c88107-bb.bin b/system/quests/c88107-bb.bin new file mode 100644 index 00000000..5ba99109 Binary files /dev/null and b/system/quests/c88107-bb.bin differ diff --git a/system/quests/c88107-bb.dat b/system/quests/c88107-bb.dat new file mode 100644 index 00000000..427ef223 Binary files /dev/null and b/system/quests/c88107-bb.dat differ diff --git a/system/quests/c88107-dc.bin b/system/quests/c88107-dc.bin new file mode 100644 index 00000000..7d761b91 Binary files /dev/null and b/system/quests/c88107-dc.bin differ diff --git a/system/quests/c88107-dc.dat b/system/quests/c88107-dc.dat new file mode 100644 index 00000000..8854806f Binary files /dev/null and b/system/quests/c88107-dc.dat differ diff --git a/system/quests/c88107-gc.bin b/system/quests/c88107-gc.bin new file mode 100644 index 00000000..881eeae1 Binary files /dev/null and b/system/quests/c88107-gc.bin differ diff --git a/system/quests/c88107-gc.dat b/system/quests/c88107-gc.dat new file mode 100644 index 00000000..8854806f Binary files /dev/null and b/system/quests/c88107-gc.dat differ diff --git a/system/quests/c88107-pc.bin b/system/quests/c88107-pc.bin new file mode 100644 index 00000000..85cffa39 Binary files /dev/null and b/system/quests/c88107-pc.bin differ diff --git a/system/quests/c88107-pc.dat b/system/quests/c88107-pc.dat new file mode 100644 index 00000000..8854806f Binary files /dev/null and b/system/quests/c88107-pc.dat differ diff --git a/system/quests/c88108-bb.bin b/system/quests/c88108-bb.bin new file mode 100644 index 00000000..8945c1ad Binary files /dev/null and b/system/quests/c88108-bb.bin differ diff --git a/system/quests/c88108-bb.dat b/system/quests/c88108-bb.dat new file mode 100644 index 00000000..56175c8a Binary files /dev/null and b/system/quests/c88108-bb.dat differ diff --git a/system/quests/c88108-dc.bin b/system/quests/c88108-dc.bin new file mode 100644 index 00000000..265ee7e6 Binary files /dev/null and b/system/quests/c88108-dc.bin differ diff --git a/system/quests/c88108-dc.dat b/system/quests/c88108-dc.dat new file mode 100644 index 00000000..08df2618 Binary files /dev/null and b/system/quests/c88108-dc.dat differ diff --git a/system/quests/c88108-gc.bin b/system/quests/c88108-gc.bin new file mode 100644 index 00000000..13d1cc29 Binary files /dev/null and b/system/quests/c88108-gc.bin differ diff --git a/system/quests/c88108-gc.dat b/system/quests/c88108-gc.dat new file mode 100644 index 00000000..08df2618 Binary files /dev/null and b/system/quests/c88108-gc.dat differ diff --git a/system/quests/c88108-pc.bin b/system/quests/c88108-pc.bin new file mode 100644 index 00000000..d436bd6d Binary files /dev/null and b/system/quests/c88108-pc.bin differ diff --git a/system/quests/c88108-pc.dat b/system/quests/c88108-pc.dat new file mode 100644 index 00000000..08df2618 Binary files /dev/null and b/system/quests/c88108-pc.dat differ diff --git a/system/quests/c88109-bb.bin b/system/quests/c88109-bb.bin new file mode 100644 index 00000000..401cd0df Binary files /dev/null and b/system/quests/c88109-bb.bin differ diff --git a/system/quests/c88109-bb.dat b/system/quests/c88109-bb.dat new file mode 100644 index 00000000..0d8e7275 Binary files /dev/null and b/system/quests/c88109-bb.dat differ diff --git a/system/quests/c88109-dc.bin b/system/quests/c88109-dc.bin new file mode 100644 index 00000000..9da33cf9 Binary files /dev/null and b/system/quests/c88109-dc.bin differ diff --git a/system/quests/c88109-dc.dat b/system/quests/c88109-dc.dat new file mode 100644 index 00000000..368c69ff Binary files /dev/null and b/system/quests/c88109-dc.dat differ diff --git a/system/quests/c88109-gc.bin b/system/quests/c88109-gc.bin new file mode 100644 index 00000000..3996b542 Binary files /dev/null and b/system/quests/c88109-gc.bin differ diff --git a/system/quests/c88109-gc.dat b/system/quests/c88109-gc.dat new file mode 100644 index 00000000..368c69ff Binary files /dev/null and b/system/quests/c88109-gc.dat differ diff --git a/system/quests/c88109-pc.bin b/system/quests/c88109-pc.bin new file mode 100644 index 00000000..931de030 Binary files /dev/null and b/system/quests/c88109-pc.bin differ diff --git a/system/quests/c88109-pc.dat b/system/quests/c88109-pc.dat new file mode 100644 index 00000000..9f25a1c2 Binary files /dev/null and b/system/quests/c88109-pc.dat differ diff --git a/system/quests/d201-bb.bin b/system/quests/d201-bb.bin deleted file mode 100644 index 4d74f680..00000000 Binary files a/system/quests/d201-bb.bin and /dev/null differ diff --git a/system/quests/d201-bb.dat b/system/quests/d201-bb.dat deleted file mode 100644 index 0965c260..00000000 Binary files a/system/quests/d201-bb.dat and /dev/null differ diff --git a/system/quests/d201-gc.bin b/system/quests/d201-gc.bin deleted file mode 100644 index dc5442f9..00000000 Binary files a/system/quests/d201-gc.bin and /dev/null differ diff --git a/system/quests/d201-gc.dat b/system/quests/d201-gc.dat deleted file mode 100644 index 4f973d05..00000000 Binary files a/system/quests/d201-gc.dat and /dev/null differ diff --git a/system/quests/d202-bb.bin b/system/quests/d202-bb.bin deleted file mode 100644 index 5a8cce28..00000000 Binary files a/system/quests/d202-bb.bin and /dev/null differ diff --git a/system/quests/d202-bb.dat b/system/quests/d202-bb.dat deleted file mode 100644 index a2586bcc..00000000 Binary files a/system/quests/d202-bb.dat and /dev/null differ diff --git a/system/quests/d202-gc.bin b/system/quests/d202-gc.bin deleted file mode 100644 index 1499e144..00000000 Binary files a/system/quests/d202-gc.bin and /dev/null differ diff --git a/system/quests/d202-gc.dat b/system/quests/d202-gc.dat deleted file mode 100644 index 34fc1f9f..00000000 Binary files a/system/quests/d202-gc.dat and /dev/null differ diff --git a/system/quests/d203-bb.bin b/system/quests/d203-bb.bin deleted file mode 100644 index bd3a0f61..00000000 Binary files a/system/quests/d203-bb.bin and /dev/null differ diff --git a/system/quests/d203-bb.dat b/system/quests/d203-bb.dat deleted file mode 100644 index 9f23737e..00000000 Binary files a/system/quests/d203-bb.dat and /dev/null differ diff --git a/system/quests/d203-gc.bin b/system/quests/d203-gc.bin deleted file mode 100644 index 694108f0..00000000 Binary files a/system/quests/d203-gc.bin and /dev/null differ diff --git a/system/quests/d203-gc.dat b/system/quests/d203-gc.dat deleted file mode 100644 index df93478f..00000000 Binary files a/system/quests/d203-gc.dat and /dev/null differ diff --git a/system/quests/d204-bb.bin b/system/quests/d204-bb.bin deleted file mode 100644 index cb00053f..00000000 Binary files a/system/quests/d204-bb.bin and /dev/null differ diff --git a/system/quests/d204-bb.dat b/system/quests/d204-bb.dat deleted file mode 100644 index d0849b4e..00000000 Binary files a/system/quests/d204-bb.dat and /dev/null differ diff --git a/system/quests/d204-gc.bin b/system/quests/d204-gc.bin deleted file mode 100644 index 6a807885..00000000 Binary files a/system/quests/d204-gc.bin and /dev/null differ diff --git a/system/quests/d204-gc.dat b/system/quests/d204-gc.dat deleted file mode 100644 index f1233aef..00000000 Binary files a/system/quests/d204-gc.dat and /dev/null differ diff --git a/system/quests/d205-bb.bin b/system/quests/d205-bb.bin deleted file mode 100644 index 55308ac2..00000000 Binary files a/system/quests/d205-bb.bin and /dev/null differ diff --git a/system/quests/d205-bb.dat b/system/quests/d205-bb.dat deleted file mode 100644 index e7a3d72c..00000000 Binary files a/system/quests/d205-bb.dat and /dev/null differ diff --git a/system/quests/d205-gc.bin b/system/quests/d205-gc.bin deleted file mode 100644 index 55ba57d1..00000000 Binary files a/system/quests/d205-gc.bin and /dev/null differ diff --git a/system/quests/d205-gc.dat b/system/quests/d205-gc.dat deleted file mode 100644 index 6cf8be6b..00000000 Binary files a/system/quests/d205-gc.dat and /dev/null differ diff --git a/system/quests/d88201-bb.bin b/system/quests/d88201-bb.bin new file mode 100644 index 00000000..3825b945 Binary files /dev/null and b/system/quests/d88201-bb.bin differ diff --git a/system/quests/d88201-bb.dat b/system/quests/d88201-bb.dat new file mode 100644 index 00000000..64b20b83 Binary files /dev/null and b/system/quests/d88201-bb.dat differ diff --git a/system/quests/d88201-gc.bin b/system/quests/d88201-gc.bin new file mode 100644 index 00000000..8a65d806 Binary files /dev/null and b/system/quests/d88201-gc.bin differ diff --git a/system/quests/d88201-gc.dat b/system/quests/d88201-gc.dat new file mode 100644 index 00000000..2400c614 Binary files /dev/null and b/system/quests/d88201-gc.dat differ diff --git a/system/quests/d88202-bb.bin b/system/quests/d88202-bb.bin new file mode 100644 index 00000000..3c20f73e Binary files /dev/null and b/system/quests/d88202-bb.bin differ diff --git a/system/quests/d88202-bb.dat b/system/quests/d88202-bb.dat new file mode 100644 index 00000000..907bdafc Binary files /dev/null and b/system/quests/d88202-bb.dat differ diff --git a/system/quests/d88202-gc.bin b/system/quests/d88202-gc.bin new file mode 100644 index 00000000..8a88fe09 Binary files /dev/null and b/system/quests/d88202-gc.bin differ diff --git a/system/quests/d88202-gc.dat b/system/quests/d88202-gc.dat new file mode 100644 index 00000000..8d816def Binary files /dev/null and b/system/quests/d88202-gc.dat differ diff --git a/system/quests/d88203-bb.bin b/system/quests/d88203-bb.bin new file mode 100644 index 00000000..086c4063 Binary files /dev/null and b/system/quests/d88203-bb.bin differ diff --git a/system/quests/d88203-bb.dat b/system/quests/d88203-bb.dat new file mode 100644 index 00000000..ebd3da23 Binary files /dev/null and b/system/quests/d88203-bb.dat differ diff --git a/system/quests/d88203-gc.bin b/system/quests/d88203-gc.bin new file mode 100644 index 00000000..34cd6477 Binary files /dev/null and b/system/quests/d88203-gc.bin differ diff --git a/system/quests/d88203-gc.dat b/system/quests/d88203-gc.dat new file mode 100644 index 00000000..7eebb5ff Binary files /dev/null and b/system/quests/d88203-gc.dat differ diff --git a/system/quests/d88204-bb.bin b/system/quests/d88204-bb.bin new file mode 100644 index 00000000..174b534d Binary files /dev/null and b/system/quests/d88204-bb.bin differ diff --git a/system/quests/d88204-bb.dat b/system/quests/d88204-bb.dat new file mode 100644 index 00000000..da74e056 Binary files /dev/null and b/system/quests/d88204-bb.dat differ diff --git a/system/quests/d88204-gc.bin b/system/quests/d88204-gc.bin new file mode 100644 index 00000000..bb5e1c17 Binary files /dev/null and b/system/quests/d88204-gc.bin differ diff --git a/system/quests/d88204-gc.dat b/system/quests/d88204-gc.dat new file mode 100644 index 00000000..caa9b7df Binary files /dev/null and b/system/quests/d88204-gc.dat differ diff --git a/system/quests/d88205-bb.bin b/system/quests/d88205-bb.bin new file mode 100644 index 00000000..52a12048 Binary files /dev/null and b/system/quests/d88205-bb.bin differ diff --git a/system/quests/d88205-bb.dat b/system/quests/d88205-bb.dat new file mode 100644 index 00000000..d29f59aa Binary files /dev/null and b/system/quests/d88205-bb.dat differ diff --git a/system/quests/d88205-gc.bin b/system/quests/d88205-gc.bin new file mode 100644 index 00000000..b636593d Binary files /dev/null and b/system/quests/d88205-gc.bin differ diff --git a/system/quests/d88205-gc.dat b/system/quests/d88205-gc.dat new file mode 100644 index 00000000..4107f0fb Binary files /dev/null and b/system/quests/d88205-gc.dat differ diff --git a/system/quests/e765-gc3.mnm b/system/quests/e765-gc3.mnm new file mode 100644 index 00000000..294bd2bb Binary files /dev/null and b/system/quests/e765-gc3.mnm differ diff --git a/system/quests/e765-gc3.mnmd b/system/quests/e765-gc3.mnmd deleted file mode 100755 index 709e3257..00000000 Binary files a/system/quests/e765-gc3.mnmd and /dev/null differ diff --git a/system/quests/q000-dl-gc.bin b/system/quests/q000-dl-gc.bin index 4ef7c0db..d5451615 100644 Binary files a/system/quests/q000-dl-gc.bin and b/system/quests/q000-dl-gc.bin differ diff --git a/system/quests/q000-dl-gc.dat b/system/quests/q000-dl-gc.dat index 6bea4277..e419055e 100644 Binary files a/system/quests/q000-dl-gc.dat and b/system/quests/q000-dl-gc.dat differ diff --git a/system/quests/q001-1p-bb.bin b/system/quests/q001-1p-bb.bin index 27119e6d..9dcaf9e9 100644 Binary files a/system/quests/q001-1p-bb.bin and b/system/quests/q001-1p-bb.bin differ diff --git a/system/quests/q001-1p-bb.dat b/system/quests/q001-1p-bb.dat index 70dfd5f6..c3a0a4b9 100644 Binary files a/system/quests/q001-1p-bb.dat and b/system/quests/q001-1p-bb.dat differ diff --git a/system/quests/q002-1p-bb.bin b/system/quests/q002-1p-bb.bin index 4873d4b1..605e1f1e 100644 Binary files a/system/quests/q002-1p-bb.bin and b/system/quests/q002-1p-bb.bin differ diff --git a/system/quests/q002-1p-bb.dat b/system/quests/q002-1p-bb.dat index b84c930e..bafe7e47 100644 Binary files a/system/quests/q002-1p-bb.dat and b/system/quests/q002-1p-bb.dat differ diff --git a/system/quests/q003-1p-bb.bin b/system/quests/q003-1p-bb.bin index 548c0842..667e13ec 100644 Binary files a/system/quests/q003-1p-bb.bin and b/system/quests/q003-1p-bb.bin differ diff --git a/system/quests/q003-1p-bb.dat b/system/quests/q003-1p-bb.dat index fa49652b..90e69624 100644 Binary files a/system/quests/q003-1p-bb.dat and b/system/quests/q003-1p-bb.dat differ diff --git a/system/quests/q004-1p-bb.bin b/system/quests/q004-1p-bb.bin index c71a8f5a..13e37428 100644 Binary files a/system/quests/q004-1p-bb.bin and b/system/quests/q004-1p-bb.bin differ diff --git a/system/quests/q004-1p-bb.dat b/system/quests/q004-1p-bb.dat index 67ee3146..c74eadea 100644 Binary files a/system/quests/q004-1p-bb.dat and b/system/quests/q004-1p-bb.dat differ diff --git a/system/quests/q005-1p-bb.bin b/system/quests/q005-1p-bb.bin index d08bcb99..6ca15339 100644 Binary files a/system/quests/q005-1p-bb.bin and b/system/quests/q005-1p-bb.bin differ diff --git a/system/quests/q005-1p-bb.dat b/system/quests/q005-1p-bb.dat index 19ca765b..ef04a533 100644 Binary files a/system/quests/q005-1p-bb.dat and b/system/quests/q005-1p-bb.dat differ diff --git a/system/quests/q006-1p-bb.bin b/system/quests/q006-1p-bb.bin index cdf4f75e..ec504099 100644 Binary files a/system/quests/q006-1p-bb.bin and b/system/quests/q006-1p-bb.bin differ diff --git a/system/quests/q006-1p-bb.dat b/system/quests/q006-1p-bb.dat index f18d9b71..1c04afd0 100644 Binary files a/system/quests/q006-1p-bb.dat and b/system/quests/q006-1p-bb.dat differ diff --git a/system/quests/q007-1p-bb.bin b/system/quests/q007-1p-bb.bin index d2818ad5..0eac838d 100644 Binary files a/system/quests/q007-1p-bb.bin and b/system/quests/q007-1p-bb.bin differ diff --git a/system/quests/q007-1p-bb.dat b/system/quests/q007-1p-bb.dat index b858929c..8acb993d 100644 Binary files a/system/quests/q007-1p-bb.dat and b/system/quests/q007-1p-bb.dat differ diff --git a/system/quests/q008-1p-bb.bin b/system/quests/q008-1p-bb.bin index 3634834a..d5dd2c58 100644 Binary files a/system/quests/q008-1p-bb.bin and b/system/quests/q008-1p-bb.bin differ diff --git a/system/quests/q008-1p-bb.dat b/system/quests/q008-1p-bb.dat index b40b6d77..615add1a 100644 Binary files a/system/quests/q008-1p-bb.dat and b/system/quests/q008-1p-bb.dat differ diff --git a/system/quests/q009-1p-bb.bin b/system/quests/q009-1p-bb.bin index 8759e8e6..29c55729 100644 Binary files a/system/quests/q009-1p-bb.bin and b/system/quests/q009-1p-bb.bin differ diff --git a/system/quests/q009-1p-bb.dat b/system/quests/q009-1p-bb.dat index 809ac36f..68022cc0 100644 Binary files a/system/quests/q009-1p-bb.dat and b/system/quests/q009-1p-bb.dat differ diff --git a/system/quests/q010-1p-bb.bin b/system/quests/q010-1p-bb.bin index 49579480..13d2897b 100644 Binary files a/system/quests/q010-1p-bb.bin and b/system/quests/q010-1p-bb.bin differ diff --git a/system/quests/q010-1p-bb.dat b/system/quests/q010-1p-bb.dat index 4e65e7a7..ea06e171 100644 Binary files a/system/quests/q010-1p-bb.dat and b/system/quests/q010-1p-bb.dat differ diff --git a/system/quests/q011-1p-bb.bin b/system/quests/q011-1p-bb.bin index f228efee..e1dc9319 100644 Binary files a/system/quests/q011-1p-bb.bin and b/system/quests/q011-1p-bb.bin differ diff --git a/system/quests/q011-1p-bb.dat b/system/quests/q011-1p-bb.dat index 085764de..7657fba7 100644 Binary files a/system/quests/q011-1p-bb.dat and b/system/quests/q011-1p-bb.dat differ diff --git a/system/quests/q012-1p-bb.bin b/system/quests/q012-1p-bb.bin index 7325fe15..00601985 100644 Binary files a/system/quests/q012-1p-bb.bin and b/system/quests/q012-1p-bb.bin differ diff --git a/system/quests/q012-1p-bb.dat b/system/quests/q012-1p-bb.dat index 30cc428f..da3db1bf 100644 Binary files a/system/quests/q012-1p-bb.dat and b/system/quests/q012-1p-bb.dat differ diff --git a/system/quests/q013-1p-bb.bin b/system/quests/q013-1p-bb.bin index 95ed78b6..11202131 100644 Binary files a/system/quests/q013-1p-bb.bin and b/system/quests/q013-1p-bb.bin differ diff --git a/system/quests/q013-1p-bb.dat b/system/quests/q013-1p-bb.dat index 32ee7ecc..211d8d60 100644 Binary files a/system/quests/q013-1p-bb.dat and b/system/quests/q013-1p-bb.dat differ diff --git a/system/quests/q014-1p-bb.bin b/system/quests/q014-1p-bb.bin index beec2187..6c12c37b 100644 Binary files a/system/quests/q014-1p-bb.bin and b/system/quests/q014-1p-bb.bin differ diff --git a/system/quests/q014-1p-bb.dat b/system/quests/q014-1p-bb.dat index bd703288..a37fcd9e 100644 Binary files a/system/quests/q014-1p-bb.dat and b/system/quests/q014-1p-bb.dat differ diff --git a/system/quests/q015-1p-bb.bin b/system/quests/q015-1p-bb.bin index d08eda63..2ba6e313 100644 Binary files a/system/quests/q015-1p-bb.bin and b/system/quests/q015-1p-bb.bin differ diff --git a/system/quests/q015-1p-bb.dat b/system/quests/q015-1p-bb.dat index 56f76e68..7fa7498c 100644 Binary files a/system/quests/q015-1p-bb.dat and b/system/quests/q015-1p-bb.dat differ diff --git a/system/quests/q016-1p-bb.bin b/system/quests/q016-1p-bb.bin index 136ba4c4..e9645a68 100644 Binary files a/system/quests/q016-1p-bb.bin and b/system/quests/q016-1p-bb.bin differ diff --git a/system/quests/q016-1p-bb.dat b/system/quests/q016-1p-bb.dat index 74e8579d..7cd9633f 100644 Binary files a/system/quests/q016-1p-bb.dat and b/system/quests/q016-1p-bb.dat differ diff --git a/system/quests/q017-1p-bb.bin b/system/quests/q017-1p-bb.bin index 916cef3e..b869bde4 100644 Binary files a/system/quests/q017-1p-bb.bin and b/system/quests/q017-1p-bb.bin differ diff --git a/system/quests/q017-1p-bb.dat b/system/quests/q017-1p-bb.dat index 30ad4fc8..8ab506d1 100644 Binary files a/system/quests/q017-1p-bb.dat and b/system/quests/q017-1p-bb.dat differ diff --git a/system/quests/q018-1p-bb.bin b/system/quests/q018-1p-bb.bin index 90a97205..80c6a0e2 100644 Binary files a/system/quests/q018-1p-bb.bin and b/system/quests/q018-1p-bb.bin differ diff --git a/system/quests/q018-1p-bb.dat b/system/quests/q018-1p-bb.dat index 45737f25..2fa938c3 100644 Binary files a/system/quests/q018-1p-bb.dat and b/system/quests/q018-1p-bb.dat differ diff --git a/system/quests/q019-1p-bb.bin b/system/quests/q019-1p-bb.bin index d4d7d9ce..cb5f7fbf 100644 Binary files a/system/quests/q019-1p-bb.bin and b/system/quests/q019-1p-bb.bin differ diff --git a/system/quests/q019-1p-bb.dat b/system/quests/q019-1p-bb.dat index 644d9d03..f31ba8e6 100644 Binary files a/system/quests/q019-1p-bb.dat and b/system/quests/q019-1p-bb.dat differ diff --git a/system/quests/q020-1p-bb.bin b/system/quests/q020-1p-bb.bin index 3e54d3e7..91600fb4 100644 Binary files a/system/quests/q020-1p-bb.bin and b/system/quests/q020-1p-bb.bin differ diff --git a/system/quests/q020-1p-bb.dat b/system/quests/q020-1p-bb.dat index 694e6833..b159a942 100644 Binary files a/system/quests/q020-1p-bb.dat and b/system/quests/q020-1p-bb.dat differ diff --git a/system/quests/q021-1p-bb.bin b/system/quests/q021-1p-bb.bin index 0faa9708..8dc4d837 100644 Binary files a/system/quests/q021-1p-bb.bin and b/system/quests/q021-1p-bb.bin differ diff --git a/system/quests/q021-1p-bb.dat b/system/quests/q021-1p-bb.dat index 3222c9e9..19d75fb5 100644 Binary files a/system/quests/q021-1p-bb.dat and b/system/quests/q021-1p-bb.dat differ diff --git a/system/quests/q022-1p-bb.bin b/system/quests/q022-1p-bb.bin index 70b44d11..7f70515b 100644 Binary files a/system/quests/q022-1p-bb.bin and b/system/quests/q022-1p-bb.bin differ diff --git a/system/quests/q022-1p-bb.dat b/system/quests/q022-1p-bb.dat index 337c0eab..ae93e469 100644 Binary files a/system/quests/q022-1p-bb.dat and b/system/quests/q022-1p-bb.dat differ diff --git a/system/quests/q023-1p-bb.bin b/system/quests/q023-1p-bb.bin index 7aaf451e..5c931607 100644 Binary files a/system/quests/q023-1p-bb.bin and b/system/quests/q023-1p-bb.bin differ diff --git a/system/quests/q023-1p-bb.dat b/system/quests/q023-1p-bb.dat index a9e7a786..d94ce6f7 100644 Binary files a/system/quests/q023-1p-bb.dat and b/system/quests/q023-1p-bb.dat differ diff --git a/system/quests/q024-1p-bb.bin b/system/quests/q024-1p-bb.bin index 45752fc2..21fa4fa9 100644 Binary files a/system/quests/q024-1p-bb.bin and b/system/quests/q024-1p-bb.bin differ diff --git a/system/quests/q024-1p-bb.dat b/system/quests/q024-1p-bb.dat index 9445e001..c347314f 100644 Binary files a/system/quests/q024-1p-bb.dat and b/system/quests/q024-1p-bb.dat differ diff --git a/system/quests/q025-1p-bb.bin b/system/quests/q025-1p-bb.bin index d531ac74..02e2b38f 100644 Binary files a/system/quests/q025-1p-bb.bin and b/system/quests/q025-1p-bb.bin differ diff --git a/system/quests/q025-1p-bb.dat b/system/quests/q025-1p-bb.dat index 36235f2f..61ab8dfd 100644 Binary files a/system/quests/q025-1p-bb.dat and b/system/quests/q025-1p-bb.dat differ diff --git a/system/quests/q026-1p-bb.bin b/system/quests/q026-1p-bb.bin index d563d5f3..04db9137 100644 Binary files a/system/quests/q026-1p-bb.bin and b/system/quests/q026-1p-bb.bin differ diff --git a/system/quests/q026-1p-bb.dat b/system/quests/q026-1p-bb.dat index ec4862ab..4753cc6d 100644 Binary files a/system/quests/q026-1p-bb.dat and b/system/quests/q026-1p-bb.dat differ diff --git a/system/quests/q026-dl-gc.bin b/system/quests/q026-dl-gc.bin deleted file mode 100644 index f8cc8408..00000000 Binary files a/system/quests/q026-dl-gc.bin and /dev/null differ diff --git a/system/quests/q026-dl-gc.dat b/system/quests/q026-dl-gc.dat deleted file mode 100644 index 2f11a6cc..00000000 Binary files a/system/quests/q026-dl-gc.dat and /dev/null differ diff --git a/system/quests/q027-1p-bb.bin b/system/quests/q027-1p-bb.bin deleted file mode 100644 index ba668884..00000000 Binary files a/system/quests/q027-1p-bb.bin and /dev/null differ diff --git a/system/quests/q027-1p-bb.dat b/system/quests/q027-1p-bb.dat deleted file mode 100644 index a5872f11..00000000 Binary files a/system/quests/q027-1p-bb.dat and /dev/null differ diff --git a/system/quests/q027-dl-gc.bin b/system/quests/q027-dl-gc.bin new file mode 100644 index 00000000..8bae770d Binary files /dev/null and b/system/quests/q027-dl-gc.bin differ diff --git a/system/quests/q027-dl-gc.dat b/system/quests/q027-dl-gc.dat new file mode 100644 index 00000000..11cf29a8 Binary files /dev/null and b/system/quests/q027-dl-gc.dat differ diff --git a/system/quests/q031-1p-bb.bin b/system/quests/q031-1p-bb.bin index 8251407b..60a5ffc2 100644 Binary files a/system/quests/q031-1p-bb.bin and b/system/quests/q031-1p-bb.bin differ diff --git a/system/quests/q031-1p-bb.dat b/system/quests/q031-1p-bb.dat index 0be66f61..666053f4 100644 Binary files a/system/quests/q031-1p-bb.dat and b/system/quests/q031-1p-bb.dat differ diff --git a/system/quests/q033-1p-bb.bin b/system/quests/q033-1p-bb.bin index ee1feec1..126196a5 100644 Binary files a/system/quests/q033-1p-bb.bin and b/system/quests/q033-1p-bb.bin differ diff --git a/system/quests/q033-1p-bb.dat b/system/quests/q033-1p-bb.dat index 434b4083..8c94a118 100644 Binary files a/system/quests/q033-1p-bb.dat and b/system/quests/q033-1p-bb.dat differ diff --git a/system/quests/q058-ret-bb.bin b/system/quests/q058-ret-bb.bin index 743d9aed..33a5446a 100644 Binary files a/system/quests/q058-ret-bb.bin and b/system/quests/q058-ret-bb.bin differ diff --git a/system/quests/q058-ret-bb.dat b/system/quests/q058-ret-bb.dat index b3cda5cb..7156707b 100644 Binary files a/system/quests/q058-ret-bb.dat and b/system/quests/q058-ret-bb.dat differ diff --git a/system/quests/q058-ret-d1.bin b/system/quests/q058-ret-d1.bin index c1ab16ec..f85b07fb 100644 Binary files a/system/quests/q058-ret-d1.bin and b/system/quests/q058-ret-d1.bin differ diff --git a/system/quests/q058-ret-d1.dat b/system/quests/q058-ret-d1.dat index 735e3639..741055d1 100644 Binary files a/system/quests/q058-ret-d1.dat and b/system/quests/q058-ret-d1.dat differ diff --git a/system/quests/q058-ret-dc.bin b/system/quests/q058-ret-dc.bin index 1e3f3a3b..82dc52c8 100644 Binary files a/system/quests/q058-ret-dc.bin and b/system/quests/q058-ret-dc.bin differ diff --git a/system/quests/q058-ret-dc.dat b/system/quests/q058-ret-dc.dat index 909904d5..34b142b4 100644 Binary files a/system/quests/q058-ret-dc.dat and b/system/quests/q058-ret-dc.dat differ diff --git a/system/quests/q058-ret-gc.bin b/system/quests/q058-ret-gc.bin index b44d7cc3..4169fc0c 100644 Binary files a/system/quests/q058-ret-gc.bin and b/system/quests/q058-ret-gc.bin differ diff --git a/system/quests/q058-ret-gc.dat b/system/quests/q058-ret-gc.dat index 1970ee69..6509a4d3 100644 Binary files a/system/quests/q058-ret-gc.dat and b/system/quests/q058-ret-gc.dat differ diff --git a/system/quests/q058-ret-pc.bin b/system/quests/q058-ret-pc.bin index 32b9d74e..a0322f6b 100644 Binary files a/system/quests/q058-ret-pc.bin and b/system/quests/q058-ret-pc.bin differ diff --git a/system/quests/q058-ret-pc.dat b/system/quests/q058-ret-pc.dat index 8d781d47..1ccad1fd 100644 Binary files a/system/quests/q058-ret-pc.dat and b/system/quests/q058-ret-pc.dat differ diff --git a/system/quests/q059-ret-bb.bin b/system/quests/q059-ret-bb.bin index b87fc4db..95465d79 100644 Binary files a/system/quests/q059-ret-bb.bin and b/system/quests/q059-ret-bb.bin differ diff --git a/system/quests/q059-ret-bb.dat b/system/quests/q059-ret-bb.dat index 5cd74554..32c37516 100644 Binary files a/system/quests/q059-ret-bb.dat and b/system/quests/q059-ret-bb.dat differ diff --git a/system/quests/q059-ret-d1.bin b/system/quests/q059-ret-d1.bin index b6c931e2..0156bebf 100644 Binary files a/system/quests/q059-ret-d1.bin and b/system/quests/q059-ret-d1.bin differ diff --git a/system/quests/q059-ret-d1.dat b/system/quests/q059-ret-d1.dat index f08f31e7..0a198305 100644 Binary files a/system/quests/q059-ret-d1.dat and b/system/quests/q059-ret-d1.dat differ diff --git a/system/quests/q059-ret-dc.bin b/system/quests/q059-ret-dc.bin index b2712169..c4c15ae9 100644 Binary files a/system/quests/q059-ret-dc.bin and b/system/quests/q059-ret-dc.bin differ diff --git a/system/quests/q059-ret-dc.dat b/system/quests/q059-ret-dc.dat index f08f31e7..0a198305 100644 Binary files a/system/quests/q059-ret-dc.dat and b/system/quests/q059-ret-dc.dat differ diff --git a/system/quests/q059-ret-gc.bin b/system/quests/q059-ret-gc.bin index 54b3e8fa..95f37da5 100644 Binary files a/system/quests/q059-ret-gc.bin and b/system/quests/q059-ret-gc.bin differ diff --git a/system/quests/q059-ret-gc.dat b/system/quests/q059-ret-gc.dat index caca2138..5e4d1baf 100644 Binary files a/system/quests/q059-ret-gc.dat and b/system/quests/q059-ret-gc.dat differ diff --git a/system/quests/q059-ret-pc.bin b/system/quests/q059-ret-pc.bin index d6fa56e2..4fdd27b3 100644 Binary files a/system/quests/q059-ret-pc.bin and b/system/quests/q059-ret-pc.bin differ diff --git a/system/quests/q059-ret-pc.dat b/system/quests/q059-ret-pc.dat index d72deae0..7e3666dc 100644 Binary files a/system/quests/q059-ret-pc.dat and b/system/quests/q059-ret-pc.dat differ diff --git a/system/quests/q060-ret-bb.bin b/system/quests/q060-ret-bb.bin index a0cbfb76..06b1b00f 100644 Binary files a/system/quests/q060-ret-bb.bin and b/system/quests/q060-ret-bb.bin differ diff --git a/system/quests/q060-ret-bb.dat b/system/quests/q060-ret-bb.dat index 8fffc177..f97fa4c0 100644 Binary files a/system/quests/q060-ret-bb.dat and b/system/quests/q060-ret-bb.dat differ diff --git a/system/quests/q060-ret-d1.bin b/system/quests/q060-ret-d1.bin index 16218d29..be19b4fa 100644 Binary files a/system/quests/q060-ret-d1.bin and b/system/quests/q060-ret-d1.bin differ diff --git a/system/quests/q060-ret-d1.dat b/system/quests/q060-ret-d1.dat index 27a71354..48a0929b 100644 Binary files a/system/quests/q060-ret-d1.dat and b/system/quests/q060-ret-d1.dat differ diff --git a/system/quests/q060-ret-dc.bin b/system/quests/q060-ret-dc.bin index a7116e3b..2bfd1a91 100644 Binary files a/system/quests/q060-ret-dc.bin and b/system/quests/q060-ret-dc.bin differ diff --git a/system/quests/q060-ret-dc.dat b/system/quests/q060-ret-dc.dat index 27a71354..48a0929b 100644 Binary files a/system/quests/q060-ret-dc.dat and b/system/quests/q060-ret-dc.dat differ diff --git a/system/quests/q060-ret-gc.bin b/system/quests/q060-ret-gc.bin index b3a5bc9a..9614abd7 100644 Binary files a/system/quests/q060-ret-gc.bin and b/system/quests/q060-ret-gc.bin differ diff --git a/system/quests/q060-ret-gc.dat b/system/quests/q060-ret-gc.dat index 4ec8e065..d8483261 100644 Binary files a/system/quests/q060-ret-gc.dat and b/system/quests/q060-ret-gc.dat differ diff --git a/system/quests/q060-ret-pc.bin b/system/quests/q060-ret-pc.bin index 2845759c..062031e1 100644 Binary files a/system/quests/q060-ret-pc.bin and b/system/quests/q060-ret-pc.bin differ diff --git a/system/quests/q060-ret-pc.dat b/system/quests/q060-ret-pc.dat index 1e88b578..f32d9847 100644 Binary files a/system/quests/q060-ret-pc.dat and b/system/quests/q060-ret-pc.dat differ diff --git a/system/quests/q068-ret-dc.bin b/system/quests/q068-ret-dc.bin index 38663246..13188c26 100644 Binary files a/system/quests/q068-ret-dc.bin and b/system/quests/q068-ret-dc.bin differ diff --git a/system/quests/q068-ret-dc.dat b/system/quests/q068-ret-dc.dat index 6e542c01..141235c3 100644 Binary files a/system/quests/q068-ret-dc.dat and b/system/quests/q068-ret-dc.dat differ diff --git a/system/quests/q068-ret-pc.bin b/system/quests/q068-ret-pc.bin index 677a1415..e9d0b9fd 100644 Binary files a/system/quests/q068-ret-pc.bin and b/system/quests/q068-ret-pc.bin differ diff --git a/system/quests/q068-ret-pc.dat b/system/quests/q068-ret-pc.dat index 6e542c01..141235c3 100644 Binary files a/system/quests/q068-ret-pc.dat and b/system/quests/q068-ret-pc.dat differ diff --git a/system/quests/q073-evt-gc.bin b/system/quests/q073-evt-gc.bin index 816c150d..74499870 100644 Binary files a/system/quests/q073-evt-gc.bin and b/system/quests/q073-evt-gc.bin differ diff --git a/system/quests/q073-evt-gc.dat b/system/quests/q073-evt-gc.dat index 5b133807..46fc61af 100644 Binary files a/system/quests/q073-evt-gc.dat and b/system/quests/q073-evt-gc.dat differ diff --git a/system/quests/q073-evt-pc.bin b/system/quests/q073-evt-pc.bin index 5f6b9338..6532f80a 100644 Binary files a/system/quests/q073-evt-pc.bin and b/system/quests/q073-evt-pc.bin differ diff --git a/system/quests/q073-evt-pc.dat b/system/quests/q073-evt-pc.dat index 5b133807..46fc61af 100644 Binary files a/system/quests/q073-evt-pc.dat and b/system/quests/q073-evt-pc.dat differ diff --git a/system/quests/q080-vr-dc.bin b/system/quests/q080-vr-dc.bin index 89a42b5a..69d81ef0 100644 Binary files a/system/quests/q080-vr-dc.bin and b/system/quests/q080-vr-dc.bin differ diff --git a/system/quests/q080-vr-dc.dat b/system/quests/q080-vr-dc.dat index 96e71aae..860b1c2d 100644 Binary files a/system/quests/q080-vr-dc.dat and b/system/quests/q080-vr-dc.dat differ diff --git a/system/quests/q095-evt-gc.bin b/system/quests/q095-evt-gc.bin index 2eb5c5cd..b18ed3db 100644 Binary files a/system/quests/q095-evt-gc.bin and b/system/quests/q095-evt-gc.bin differ diff --git a/system/quests/q095-evt-gc.dat b/system/quests/q095-evt-gc.dat index 496bcf4d..537eba85 100644 Binary files a/system/quests/q095-evt-gc.dat and b/system/quests/q095-evt-gc.dat differ diff --git a/system/quests/q095-evt-pc.bin b/system/quests/q095-evt-pc.bin index 89a9106b..068302cf 100644 Binary files a/system/quests/q095-evt-pc.bin and b/system/quests/q095-evt-pc.bin differ diff --git a/system/quests/q095-evt-pc.dat b/system/quests/q095-evt-pc.dat index 05c87398..9c3a0701 100644 Binary files a/system/quests/q095-evt-pc.dat and b/system/quests/q095-evt-pc.dat differ diff --git a/system/quests/q096-evt-gc.bin b/system/quests/q096-evt-gc.bin index 99cfb904..81b8d1b0 100644 Binary files a/system/quests/q096-evt-gc.bin and b/system/quests/q096-evt-gc.bin differ diff --git a/system/quests/q096-evt-gc.dat b/system/quests/q096-evt-gc.dat index ebc4c128..827cb391 100644 Binary files a/system/quests/q096-evt-gc.dat and b/system/quests/q096-evt-gc.dat differ diff --git a/system/quests/q096-evt-pc.bin b/system/quests/q096-evt-pc.bin index a56fa290..dd79cf4f 100644 Binary files a/system/quests/q096-evt-pc.bin and b/system/quests/q096-evt-pc.bin differ diff --git a/system/quests/q096-evt-pc.dat b/system/quests/q096-evt-pc.dat index ebc4c128..827cb391 100644 Binary files a/system/quests/q096-evt-pc.dat and b/system/quests/q096-evt-pc.dat differ diff --git a/system/quests/q101-ext-bb.bin b/system/quests/q101-ext-bb.bin index 9133d909..219de489 100644 Binary files a/system/quests/q101-ext-bb.bin and b/system/quests/q101-ext-bb.bin differ diff --git a/system/quests/q101-ext-bb.dat b/system/quests/q101-ext-bb.dat index 239bbccc..05b729f5 100644 Binary files a/system/quests/q101-ext-bb.dat and b/system/quests/q101-ext-bb.dat differ diff --git a/system/quests/q101-ext-d1.bin b/system/quests/q101-ext-d1.bin index aec5f384..b67b0cf9 100644 Binary files a/system/quests/q101-ext-d1.bin and b/system/quests/q101-ext-d1.bin differ diff --git a/system/quests/q101-ext-d1.dat b/system/quests/q101-ext-d1.dat index c9d80b7a..d8fc0a86 100644 Binary files a/system/quests/q101-ext-d1.dat and b/system/quests/q101-ext-d1.dat differ diff --git a/system/quests/q101-ext-dc.bin b/system/quests/q101-ext-dc.bin index 322ccb3c..b17cde08 100644 Binary files a/system/quests/q101-ext-dc.bin and b/system/quests/q101-ext-dc.bin differ diff --git a/system/quests/q101-ext-dc.dat b/system/quests/q101-ext-dc.dat index c9d80b7a..d8fc0a86 100644 Binary files a/system/quests/q101-ext-dc.dat and b/system/quests/q101-ext-dc.dat differ diff --git a/system/quests/q101-ext-gc.bin b/system/quests/q101-ext-gc.bin index 2385ba6e..9757413a 100644 Binary files a/system/quests/q101-ext-gc.bin and b/system/quests/q101-ext-gc.bin differ diff --git a/system/quests/q101-ext-gc.dat b/system/quests/q101-ext-gc.dat index 6a2094b8..d6be3f10 100644 Binary files a/system/quests/q101-ext-gc.dat and b/system/quests/q101-ext-gc.dat differ diff --git a/system/quests/q101-ext-pc.bin b/system/quests/q101-ext-pc.bin index 58ed4aad..f753dc68 100644 Binary files a/system/quests/q101-ext-pc.bin and b/system/quests/q101-ext-pc.bin differ diff --git a/system/quests/q101-ext-pc.dat b/system/quests/q101-ext-pc.dat index c9d80b7a..d8fc0a86 100644 Binary files a/system/quests/q101-ext-pc.dat and b/system/quests/q101-ext-pc.dat differ diff --git a/system/quests/q102-ext-bb.bin b/system/quests/q102-ext-bb.bin index 5589150e..95f18121 100644 Binary files a/system/quests/q102-ext-bb.bin and b/system/quests/q102-ext-bb.bin differ diff --git a/system/quests/q102-ext-bb.dat b/system/quests/q102-ext-bb.dat index 6f6bff79..34207fb6 100644 Binary files a/system/quests/q102-ext-bb.dat and b/system/quests/q102-ext-bb.dat differ diff --git a/system/quests/q102-ext-d1.bin b/system/quests/q102-ext-d1.bin index d2cea91e..b40f7b23 100644 Binary files a/system/quests/q102-ext-d1.bin and b/system/quests/q102-ext-d1.bin differ diff --git a/system/quests/q102-ext-d1.dat b/system/quests/q102-ext-d1.dat index d03e11f4..6565a4ad 100644 Binary files a/system/quests/q102-ext-d1.dat and b/system/quests/q102-ext-d1.dat differ diff --git a/system/quests/q102-ext-dc.bin b/system/quests/q102-ext-dc.bin index 65c0a738..149351d8 100644 Binary files a/system/quests/q102-ext-dc.bin and b/system/quests/q102-ext-dc.bin differ diff --git a/system/quests/q102-ext-dc.dat b/system/quests/q102-ext-dc.dat index 465c2651..72c71454 100644 Binary files a/system/quests/q102-ext-dc.dat and b/system/quests/q102-ext-dc.dat differ diff --git a/system/quests/q102-ext-gc.bin b/system/quests/q102-ext-gc.bin index c80650fa..e3e319ed 100644 Binary files a/system/quests/q102-ext-gc.bin and b/system/quests/q102-ext-gc.bin differ diff --git a/system/quests/q102-ext-gc.dat b/system/quests/q102-ext-gc.dat index 3bcede84..af367b45 100644 Binary files a/system/quests/q102-ext-gc.dat and b/system/quests/q102-ext-gc.dat differ diff --git a/system/quests/q102-ext-pc.bin b/system/quests/q102-ext-pc.bin index 2525f7d3..8ac4126f 100644 Binary files a/system/quests/q102-ext-pc.bin and b/system/quests/q102-ext-pc.bin differ diff --git a/system/quests/q102-ext-pc.dat b/system/quests/q102-ext-pc.dat index 465c2651..72c71454 100644 Binary files a/system/quests/q102-ext-pc.dat and b/system/quests/q102-ext-pc.dat differ diff --git a/system/quests/q103-ext-bb.bin b/system/quests/q103-ext-bb.bin index 907d4cd7..a8043ee9 100644 Binary files a/system/quests/q103-ext-bb.bin and b/system/quests/q103-ext-bb.bin differ diff --git a/system/quests/q103-ext-bb.dat b/system/quests/q103-ext-bb.dat index 7e827d44..cc6adf97 100644 Binary files a/system/quests/q103-ext-bb.dat and b/system/quests/q103-ext-bb.dat differ diff --git a/system/quests/q103-ext-d1.bin b/system/quests/q103-ext-d1.bin index 6c641021..831c9ebf 100644 Binary files a/system/quests/q103-ext-d1.bin and b/system/quests/q103-ext-d1.bin differ diff --git a/system/quests/q103-ext-d1.dat b/system/quests/q103-ext-d1.dat index 6dbd7635..478ffb0d 100644 Binary files a/system/quests/q103-ext-d1.dat and b/system/quests/q103-ext-d1.dat differ diff --git a/system/quests/q103-ext-gc.bin b/system/quests/q103-ext-gc.bin index 1676fb63..b8151ada 100644 Binary files a/system/quests/q103-ext-gc.bin and b/system/quests/q103-ext-gc.bin differ diff --git a/system/quests/q103-ext-gc.dat b/system/quests/q103-ext-gc.dat index af21d5b1..1faa598c 100644 Binary files a/system/quests/q103-ext-gc.dat and b/system/quests/q103-ext-gc.dat differ diff --git a/system/quests/q103-ext-pc.bin b/system/quests/q103-ext-pc.bin index d532659f..903940af 100644 Binary files a/system/quests/q103-ext-pc.bin and b/system/quests/q103-ext-pc.bin differ diff --git a/system/quests/q103-ext-pc.dat b/system/quests/q103-ext-pc.dat index f285a764..81588467 100644 Binary files a/system/quests/q103-ext-pc.dat and b/system/quests/q103-ext-pc.dat differ diff --git a/system/quests/q104-ext-bb.bin b/system/quests/q104-ext-bb.bin index 62797751..aced6639 100644 Binary files a/system/quests/q104-ext-bb.bin and b/system/quests/q104-ext-bb.bin differ diff --git a/system/quests/q104-ext-bb.dat b/system/quests/q104-ext-bb.dat index a0eab208..f3bbfee4 100644 Binary files a/system/quests/q104-ext-bb.dat and b/system/quests/q104-ext-bb.dat differ diff --git a/system/quests/q104-ext-d1.bin b/system/quests/q104-ext-d1.bin index 5ab9e671..576abf27 100644 Binary files a/system/quests/q104-ext-d1.bin and b/system/quests/q104-ext-d1.bin differ diff --git a/system/quests/q104-ext-d1.dat b/system/quests/q104-ext-d1.dat index 8b439175..02023cd0 100644 Binary files a/system/quests/q104-ext-d1.dat and b/system/quests/q104-ext-d1.dat differ diff --git a/system/quests/q104-ext-dc.bin b/system/quests/q104-ext-dc.bin index b2ac13eb..53a59158 100644 Binary files a/system/quests/q104-ext-dc.bin and b/system/quests/q104-ext-dc.bin differ diff --git a/system/quests/q104-ext-dc.dat b/system/quests/q104-ext-dc.dat index 989cfa06..cfcc6bd7 100644 Binary files a/system/quests/q104-ext-dc.dat and b/system/quests/q104-ext-dc.dat differ diff --git a/system/quests/q104-ext-gc.bin b/system/quests/q104-ext-gc.bin index 34c4acc1..4daa8514 100644 Binary files a/system/quests/q104-ext-gc.bin and b/system/quests/q104-ext-gc.bin differ diff --git a/system/quests/q104-ext-gc.dat b/system/quests/q104-ext-gc.dat index d8064a59..23bdc5e0 100644 Binary files a/system/quests/q104-ext-gc.dat and b/system/quests/q104-ext-gc.dat differ diff --git a/system/quests/q104-ext-pc.bin b/system/quests/q104-ext-pc.bin index 9c272d0c..14bb9a7c 100644 Binary files a/system/quests/q104-ext-pc.bin and b/system/quests/q104-ext-pc.bin differ diff --git a/system/quests/q104-ext-pc.dat b/system/quests/q104-ext-pc.dat index 989cfa06..cfcc6bd7 100644 Binary files a/system/quests/q104-ext-pc.dat and b/system/quests/q104-ext-pc.dat differ diff --git a/system/quests/q108-ext-bb.bin b/system/quests/q108-ext-bb.bin index d70d34ca..7ca82791 100644 Binary files a/system/quests/q108-ext-bb.bin and b/system/quests/q108-ext-bb.bin differ diff --git a/system/quests/q108-ext-bb.dat b/system/quests/q108-ext-bb.dat index 243255f1..f4799c18 100644 Binary files a/system/quests/q108-ext-bb.dat and b/system/quests/q108-ext-bb.dat differ diff --git a/system/quests/q108-ext-d1.bin b/system/quests/q108-ext-d1.bin index d8a0c0d4..dbf66765 100644 Binary files a/system/quests/q108-ext-d1.bin and b/system/quests/q108-ext-d1.bin differ diff --git a/system/quests/q108-ext-d1.dat b/system/quests/q108-ext-d1.dat index fbbfdd49..f6d0e34b 100644 Binary files a/system/quests/q108-ext-d1.dat and b/system/quests/q108-ext-d1.dat differ diff --git a/system/quests/q108-ext-dc.bin b/system/quests/q108-ext-dc.bin index e74bcb8f..23162c21 100644 Binary files a/system/quests/q108-ext-dc.bin and b/system/quests/q108-ext-dc.bin differ diff --git a/system/quests/q108-ext-dc.dat b/system/quests/q108-ext-dc.dat index adec9c68..e755e685 100644 Binary files a/system/quests/q108-ext-dc.dat and b/system/quests/q108-ext-dc.dat differ diff --git a/system/quests/q108-ext-gc.bin b/system/quests/q108-ext-gc.bin index cf478de2..525be0aa 100644 Binary files a/system/quests/q108-ext-gc.bin and b/system/quests/q108-ext-gc.bin differ diff --git a/system/quests/q108-ext-gc.dat b/system/quests/q108-ext-gc.dat index fbbfdd49..f6d0e34b 100644 Binary files a/system/quests/q108-ext-gc.dat and b/system/quests/q108-ext-gc.dat differ diff --git a/system/quests/q108-ext-pc.bin b/system/quests/q108-ext-pc.bin index af1b7e68..1e745ab3 100644 Binary files a/system/quests/q108-ext-pc.bin and b/system/quests/q108-ext-pc.bin differ diff --git a/system/quests/q108-ext-pc.dat b/system/quests/q108-ext-pc.dat index adec9c68..e755e685 100644 Binary files a/system/quests/q108-ext-pc.dat and b/system/quests/q108-ext-pc.dat differ diff --git a/system/quests/q109-ext-bb.bin b/system/quests/q109-ext-bb.bin index 21db4ae6..c72901ba 100644 Binary files a/system/quests/q109-ext-bb.bin and b/system/quests/q109-ext-bb.bin differ diff --git a/system/quests/q109-ext-bb.dat b/system/quests/q109-ext-bb.dat index 96b650b1..99f273c7 100644 Binary files a/system/quests/q109-ext-bb.dat and b/system/quests/q109-ext-bb.dat differ diff --git a/system/quests/q109-ext-d1.bin b/system/quests/q109-ext-d1.bin index 4a0f5ade..252d0ad1 100644 Binary files a/system/quests/q109-ext-d1.bin and b/system/quests/q109-ext-d1.bin differ diff --git a/system/quests/q109-ext-d1.dat b/system/quests/q109-ext-d1.dat index 27a88418..6dd77700 100644 Binary files a/system/quests/q109-ext-d1.dat and b/system/quests/q109-ext-d1.dat differ diff --git a/system/quests/q109-ext-dc.bin b/system/quests/q109-ext-dc.bin index 39605b20..31f30edd 100644 Binary files a/system/quests/q109-ext-dc.bin and b/system/quests/q109-ext-dc.bin differ diff --git a/system/quests/q109-ext-dc.dat b/system/quests/q109-ext-dc.dat index cc801e95..55c59da9 100644 Binary files a/system/quests/q109-ext-dc.dat and b/system/quests/q109-ext-dc.dat differ diff --git a/system/quests/q109-ext-gc.bin b/system/quests/q109-ext-gc.bin index 090766de..48b6f506 100644 Binary files a/system/quests/q109-ext-gc.bin and b/system/quests/q109-ext-gc.bin differ diff --git a/system/quests/q109-ext-gc.dat b/system/quests/q109-ext-gc.dat index cc801e95..55c59da9 100644 Binary files a/system/quests/q109-ext-gc.dat and b/system/quests/q109-ext-gc.dat differ diff --git a/system/quests/q109-ext-pc.bin b/system/quests/q109-ext-pc.bin index df5e1595..b06849cc 100644 Binary files a/system/quests/q109-ext-pc.bin and b/system/quests/q109-ext-pc.bin differ diff --git a/system/quests/q109-ext-pc.dat b/system/quests/q109-ext-pc.dat index cc801e95..55c59da9 100644 Binary files a/system/quests/q109-ext-pc.dat and b/system/quests/q109-ext-pc.dat differ diff --git a/system/quests/q110-ext-bb.bin b/system/quests/q110-ext-bb.bin index 7e5ca269..bc8eae12 100644 Binary files a/system/quests/q110-ext-bb.bin and b/system/quests/q110-ext-bb.bin differ diff --git a/system/quests/q110-ext-bb.dat b/system/quests/q110-ext-bb.dat index fbfe3f28..b058bd85 100644 Binary files a/system/quests/q110-ext-bb.dat and b/system/quests/q110-ext-bb.dat differ diff --git a/system/quests/q110-ext-d1.bin b/system/quests/q110-ext-d1.bin index c7b1964c..64c09c28 100644 Binary files a/system/quests/q110-ext-d1.bin and b/system/quests/q110-ext-d1.bin differ diff --git a/system/quests/q110-ext-d1.dat b/system/quests/q110-ext-d1.dat index a925a613..dec769aa 100644 Binary files a/system/quests/q110-ext-d1.dat and b/system/quests/q110-ext-d1.dat differ diff --git a/system/quests/q110-ext-dc.bin b/system/quests/q110-ext-dc.bin index a0f29f2d..c6938b33 100644 Binary files a/system/quests/q110-ext-dc.bin and b/system/quests/q110-ext-dc.bin differ diff --git a/system/quests/q110-ext-dc.dat b/system/quests/q110-ext-dc.dat index dd7097da..b8dee222 100644 Binary files a/system/quests/q110-ext-dc.dat and b/system/quests/q110-ext-dc.dat differ diff --git a/system/quests/q110-ext-gc.bin b/system/quests/q110-ext-gc.bin index 78d67884..0004115e 100644 Binary files a/system/quests/q110-ext-gc.bin and b/system/quests/q110-ext-gc.bin differ diff --git a/system/quests/q110-ext-gc.dat b/system/quests/q110-ext-gc.dat index 4c3e6960..1af27484 100644 Binary files a/system/quests/q110-ext-gc.dat and b/system/quests/q110-ext-gc.dat differ diff --git a/system/quests/q110-ext-pc.bin b/system/quests/q110-ext-pc.bin index dc110b7f..aa315cde 100644 Binary files a/system/quests/q110-ext-pc.bin and b/system/quests/q110-ext-pc.bin differ diff --git a/system/quests/q110-ext-pc.dat b/system/quests/q110-ext-pc.dat index dd7097da..b8dee222 100644 Binary files a/system/quests/q110-ext-pc.dat and b/system/quests/q110-ext-pc.dat differ diff --git a/system/quests/q111-ext-bb.bin b/system/quests/q111-ext-bb.bin index 9844e9a3..02a11c5d 100644 Binary files a/system/quests/q111-ext-bb.bin and b/system/quests/q111-ext-bb.bin differ diff --git a/system/quests/q111-ext-bb.dat b/system/quests/q111-ext-bb.dat index 3bb02b8f..5036ab91 100644 Binary files a/system/quests/q111-ext-bb.dat and b/system/quests/q111-ext-bb.dat differ diff --git a/system/quests/q111-ext-d1.bin b/system/quests/q111-ext-d1.bin index cf73811e..3a4f0e67 100644 Binary files a/system/quests/q111-ext-d1.bin and b/system/quests/q111-ext-d1.bin differ diff --git a/system/quests/q111-ext-d1.dat b/system/quests/q111-ext-d1.dat index 665db287..8b35ad5c 100644 Binary files a/system/quests/q111-ext-d1.dat and b/system/quests/q111-ext-d1.dat differ diff --git a/system/quests/q111-ext-dc.bin b/system/quests/q111-ext-dc.bin index c0208b64..9233f9e8 100644 Binary files a/system/quests/q111-ext-dc.bin and b/system/quests/q111-ext-dc.bin differ diff --git a/system/quests/q111-ext-dc.dat b/system/quests/q111-ext-dc.dat index 6c9f9c6e..85f11533 100644 Binary files a/system/quests/q111-ext-dc.dat and b/system/quests/q111-ext-dc.dat differ diff --git a/system/quests/q111-ext-gc.bin b/system/quests/q111-ext-gc.bin index d7d414f0..d855d6a9 100644 Binary files a/system/quests/q111-ext-gc.bin and b/system/quests/q111-ext-gc.bin differ diff --git a/system/quests/q111-ext-gc.dat b/system/quests/q111-ext-gc.dat index 6c9f9c6e..85f11533 100644 Binary files a/system/quests/q111-ext-gc.dat and b/system/quests/q111-ext-gc.dat differ diff --git a/system/quests/q111-ext-pc.bin b/system/quests/q111-ext-pc.bin index 4b546368..fcf07c5f 100644 Binary files a/system/quests/q111-ext-pc.bin and b/system/quests/q111-ext-pc.bin differ diff --git a/system/quests/q111-ext-pc.dat b/system/quests/q111-ext-pc.dat index 6c9f9c6e..85f11533 100644 Binary files a/system/quests/q111-ext-pc.dat and b/system/quests/q111-ext-pc.dat differ diff --git a/system/quests/q117-ext-bb.bin b/system/quests/q117-ext-bb.bin index cc2bd239..3558a068 100644 Binary files a/system/quests/q117-ext-bb.bin and b/system/quests/q117-ext-bb.bin differ diff --git a/system/quests/q117-ext-bb.dat b/system/quests/q117-ext-bb.dat index cd4fabec..4aecc0fc 100644 Binary files a/system/quests/q117-ext-bb.dat and b/system/quests/q117-ext-bb.dat differ diff --git a/system/quests/q117-ext-dc.bin b/system/quests/q117-ext-dc.bin index 3b6a9362..2f710502 100644 Binary files a/system/quests/q117-ext-dc.bin and b/system/quests/q117-ext-dc.bin differ diff --git a/system/quests/q117-ext-dc.dat b/system/quests/q117-ext-dc.dat index 7054af3a..06870bbd 100644 Binary files a/system/quests/q117-ext-dc.dat and b/system/quests/q117-ext-dc.dat differ diff --git a/system/quests/q117-ext-gc.bin b/system/quests/q117-ext-gc.bin index 25100484..543746b1 100644 Binary files a/system/quests/q117-ext-gc.bin and b/system/quests/q117-ext-gc.bin differ diff --git a/system/quests/q117-ext-gc.dat b/system/quests/q117-ext-gc.dat index eae4d952..038fd207 100644 Binary files a/system/quests/q117-ext-gc.dat and b/system/quests/q117-ext-gc.dat differ diff --git a/system/quests/q117-ext-pc.bin b/system/quests/q117-ext-pc.bin index 8d8ffadf..c5990435 100644 Binary files a/system/quests/q117-ext-pc.bin and b/system/quests/q117-ext-pc.bin differ diff --git a/system/quests/q117-ext-pc.dat b/system/quests/q117-ext-pc.dat index 9328de66..68f6cffc 100644 Binary files a/system/quests/q117-ext-pc.dat and b/system/quests/q117-ext-pc.dat differ diff --git a/system/quests/q118-vr-bb.bin b/system/quests/q118-vr-bb.bin index 5d8aed91..88a71dc2 100644 Binary files a/system/quests/q118-vr-bb.bin and b/system/quests/q118-vr-bb.bin differ diff --git a/system/quests/q118-vr-bb.dat b/system/quests/q118-vr-bb.dat index 1febe017..3d5962ee 100644 Binary files a/system/quests/q118-vr-bb.dat and b/system/quests/q118-vr-bb.dat differ diff --git a/system/quests/q118-vr-dc.bin b/system/quests/q118-vr-dc.bin index 91866719..8e4fc544 100644 Binary files a/system/quests/q118-vr-dc.bin and b/system/quests/q118-vr-dc.bin differ diff --git a/system/quests/q118-vr-dc.dat b/system/quests/q118-vr-dc.dat index c330ae79..250b09b4 100644 Binary files a/system/quests/q118-vr-dc.dat and b/system/quests/q118-vr-dc.dat differ diff --git a/system/quests/q118-vr-gc.bin b/system/quests/q118-vr-gc.bin index 21a3180e..b9bc93a7 100644 Binary files a/system/quests/q118-vr-gc.bin and b/system/quests/q118-vr-gc.bin differ diff --git a/system/quests/q118-vr-gc.dat b/system/quests/q118-vr-gc.dat index 2cc5f60d..ce72dd20 100644 Binary files a/system/quests/q118-vr-gc.dat and b/system/quests/q118-vr-gc.dat differ diff --git a/system/quests/q118-vr-pc.bin b/system/quests/q118-vr-pc.bin index 4c4ace0b..a3a46db0 100644 Binary files a/system/quests/q118-vr-pc.bin and b/system/quests/q118-vr-pc.bin differ diff --git a/system/quests/q118-vr-pc.dat b/system/quests/q118-vr-pc.dat index c330ae79..250b09b4 100644 Binary files a/system/quests/q118-vr-pc.dat and b/system/quests/q118-vr-pc.dat differ diff --git a/system/quests/q124-evt-bb.bin b/system/quests/q124-evt-bb.bin index d66edbaa..5a0b02b7 100644 Binary files a/system/quests/q124-evt-bb.bin and b/system/quests/q124-evt-bb.bin differ diff --git a/system/quests/q124-evt-bb.dat b/system/quests/q124-evt-bb.dat index 00612942..4ea1da05 100644 Binary files a/system/quests/q124-evt-bb.dat and b/system/quests/q124-evt-bb.dat differ diff --git a/system/quests/q137-evt-bb.bin b/system/quests/q137-evt-bb.bin index 32caa08a..6065a0c7 100644 Binary files a/system/quests/q137-evt-bb.bin and b/system/quests/q137-evt-bb.bin differ diff --git a/system/quests/q137-evt-bb.dat b/system/quests/q137-evt-bb.dat index 047da8b0..ba7e0b34 100644 Binary files a/system/quests/q137-evt-bb.dat and b/system/quests/q137-evt-bb.dat differ diff --git a/system/quests/q137-evt-dc.bin b/system/quests/q137-evt-dc.bin index 889514fa..bb7101f8 100644 Binary files a/system/quests/q137-evt-dc.bin and b/system/quests/q137-evt-dc.bin differ diff --git a/system/quests/q137-evt-dc.dat b/system/quests/q137-evt-dc.dat index e0658835..2e45456b 100644 Binary files a/system/quests/q137-evt-dc.dat and b/system/quests/q137-evt-dc.dat differ diff --git a/system/quests/q137-evt-gc.bin b/system/quests/q137-evt-gc.bin index 034e5d49..9e90102d 100644 Binary files a/system/quests/q137-evt-gc.bin and b/system/quests/q137-evt-gc.bin differ diff --git a/system/quests/q137-evt-gc.dat b/system/quests/q137-evt-gc.dat index 6de73a26..60e15aa4 100644 Binary files a/system/quests/q137-evt-gc.dat and b/system/quests/q137-evt-gc.dat differ diff --git a/system/quests/q137-evt-pc.bin b/system/quests/q137-evt-pc.bin index b1c9c075..f64e1491 100644 Binary files a/system/quests/q137-evt-pc.bin and b/system/quests/q137-evt-pc.bin differ diff --git a/system/quests/q137-evt-pc.dat b/system/quests/q137-evt-pc.dat index e0658835..2e45456b 100644 Binary files a/system/quests/q137-evt-pc.dat and b/system/quests/q137-evt-pc.dat differ diff --git a/system/quests/q138-evt-bb.bin b/system/quests/q138-evt-bb.bin index 2a3f1351..e402789c 100644 Binary files a/system/quests/q138-evt-bb.bin and b/system/quests/q138-evt-bb.bin differ diff --git a/system/quests/q138-evt-bb.dat b/system/quests/q138-evt-bb.dat index 8bb46cae..3a2991ef 100644 Binary files a/system/quests/q138-evt-bb.dat and b/system/quests/q138-evt-bb.dat differ diff --git a/system/quests/q138-evt-dc.bin b/system/quests/q138-evt-dc.bin index a36e89b7..d0ecc909 100644 Binary files a/system/quests/q138-evt-dc.bin and b/system/quests/q138-evt-dc.bin differ diff --git a/system/quests/q138-evt-dc.dat b/system/quests/q138-evt-dc.dat index 4c0ddf41..5d64af9b 100644 Binary files a/system/quests/q138-evt-dc.dat and b/system/quests/q138-evt-dc.dat differ diff --git a/system/quests/q138-evt-gc.bin b/system/quests/q138-evt-gc.bin index fe8117db..9f95a0b8 100644 Binary files a/system/quests/q138-evt-gc.bin and b/system/quests/q138-evt-gc.bin differ diff --git a/system/quests/q138-evt-gc.dat b/system/quests/q138-evt-gc.dat index a6c78b04..fb85213a 100644 Binary files a/system/quests/q138-evt-gc.dat and b/system/quests/q138-evt-gc.dat differ diff --git a/system/quests/q138-evt-pc.bin b/system/quests/q138-evt-pc.bin index e2d230fa..a6bbd185 100644 Binary files a/system/quests/q138-evt-pc.bin and b/system/quests/q138-evt-pc.bin differ diff --git a/system/quests/q138-evt-pc.dat b/system/quests/q138-evt-pc.dat index 4c0ddf41..5d64af9b 100644 Binary files a/system/quests/q138-evt-pc.dat and b/system/quests/q138-evt-pc.dat differ diff --git a/system/quests/q140-evt-pc.bin b/system/quests/q140-evt-pc.bin index 1a3bd0f1..662019b7 100644 Binary files a/system/quests/q140-evt-pc.bin and b/system/quests/q140-evt-pc.bin differ diff --git a/system/quests/q140-evt-pc.dat b/system/quests/q140-evt-pc.dat index 05c87398..9c3a0701 100644 Binary files a/system/quests/q140-evt-pc.dat and b/system/quests/q140-evt-pc.dat differ diff --git a/system/quests/q141-vr-bb.bin b/system/quests/q141-vr-bb.bin index 15dc94bc..1a89ece6 100644 Binary files a/system/quests/q141-vr-bb.bin and b/system/quests/q141-vr-bb.bin differ diff --git a/system/quests/q141-vr-bb.dat b/system/quests/q141-vr-bb.dat index 4e2e38d4..9daba78b 100644 Binary files a/system/quests/q141-vr-bb.dat and b/system/quests/q141-vr-bb.dat differ diff --git a/system/quests/q141-vr-gc.bin b/system/quests/q141-vr-gc.bin index 06d38bcb..b1be5f56 100644 Binary files a/system/quests/q141-vr-gc.bin and b/system/quests/q141-vr-gc.bin differ diff --git a/system/quests/q141-vr-gc.dat b/system/quests/q141-vr-gc.dat index d322a853..6542bfe6 100644 Binary files a/system/quests/q141-vr-gc.dat and b/system/quests/q141-vr-gc.dat differ diff --git a/system/quests/q142-vr-bb.bin b/system/quests/q142-vr-bb.bin index 437c942c..96e52223 100644 Binary files a/system/quests/q142-vr-bb.bin and b/system/quests/q142-vr-bb.bin differ diff --git a/system/quests/q142-vr-bb.dat b/system/quests/q142-vr-bb.dat index b9df03c7..dc325006 100644 Binary files a/system/quests/q142-vr-bb.dat and b/system/quests/q142-vr-bb.dat differ diff --git a/system/quests/q201-evt-bb.bin b/system/quests/q201-evt-bb.bin index 22ff59b0..b97b3cfc 100644 Binary files a/system/quests/q201-evt-bb.bin and b/system/quests/q201-evt-bb.bin differ diff --git a/system/quests/q201-evt-bb.dat b/system/quests/q201-evt-bb.dat index 78ef0cac..fd9a4aff 100644 Binary files a/system/quests/q201-evt-bb.dat and b/system/quests/q201-evt-bb.dat differ diff --git a/system/quests/q201-evt-gc.bin b/system/quests/q201-evt-gc.bin index bc38ecd5..e033b697 100644 Binary files a/system/quests/q201-evt-gc.bin and b/system/quests/q201-evt-gc.bin differ diff --git a/system/quests/q201-evt-gc.dat b/system/quests/q201-evt-gc.dat index f19a5e32..9621f7c1 100644 Binary files a/system/quests/q201-evt-gc.dat and b/system/quests/q201-evt-gc.dat differ diff --git a/system/quests/q202-shp-gc.bin b/system/quests/q202-shp-gc.bin index 89b5eaa5..a2825ef3 100644 Binary files a/system/quests/q202-shp-gc.bin and b/system/quests/q202-shp-gc.bin differ diff --git a/system/quests/q202-shp-gc.dat b/system/quests/q202-shp-gc.dat index 7cbcd5ec..e325ab83 100644 Binary files a/system/quests/q202-shp-gc.dat and b/system/quests/q202-shp-gc.dat differ diff --git a/system/quests/q203-vr-bb.bin b/system/quests/q203-vr-bb.bin index cf558dab..195650c6 100644 Binary files a/system/quests/q203-vr-bb.bin and b/system/quests/q203-vr-bb.bin differ diff --git a/system/quests/q203-vr-bb.dat b/system/quests/q203-vr-bb.dat index 35bc4394..897c0f53 100644 Binary files a/system/quests/q203-vr-bb.dat and b/system/quests/q203-vr-bb.dat differ diff --git a/system/quests/q203-vr-gc.bin b/system/quests/q203-vr-gc.bin index 990b3346..691e6692 100644 Binary files a/system/quests/q203-vr-gc.bin and b/system/quests/q203-vr-gc.bin differ diff --git a/system/quests/q203-vr-gc.dat b/system/quests/q203-vr-gc.dat index d7b14ad3..24939406 100644 Binary files a/system/quests/q203-vr-gc.dat and b/system/quests/q203-vr-gc.dat differ diff --git a/system/quests/q204-shp-bb.bin b/system/quests/q204-shp-bb.bin new file mode 100644 index 00000000..6b7b8599 Binary files /dev/null and b/system/quests/q204-shp-bb.bin differ diff --git a/system/quests/q204-shp-bb.dat b/system/quests/q204-shp-bb.dat new file mode 100644 index 00000000..dc34eb3b Binary files /dev/null and b/system/quests/q204-shp-bb.dat differ diff --git a/system/quests/q204-shp-gc.bin b/system/quests/q204-shp-gc.bin index db8b05a3..4eb052ad 100644 Binary files a/system/quests/q204-shp-gc.bin and b/system/quests/q204-shp-gc.bin differ diff --git a/system/quests/q204-shp-gc.dat b/system/quests/q204-shp-gc.dat index 4c4603de..8f017f38 100644 Binary files a/system/quests/q204-shp-gc.dat and b/system/quests/q204-shp-gc.dat differ diff --git a/system/quests/q213-evt-gc.bin b/system/quests/q213-evt-gc.bin index 32f3671a..2e5f3bae 100644 Binary files a/system/quests/q213-evt-gc.bin and b/system/quests/q213-evt-gc.bin differ diff --git a/system/quests/q213-evt-gc.dat b/system/quests/q213-evt-gc.dat index e5d7be7b..98b4f6d5 100644 Binary files a/system/quests/q213-evt-gc.dat and b/system/quests/q213-evt-gc.dat differ diff --git a/system/quests/q219-shp-bb.bin b/system/quests/q219-shp-bb.bin deleted file mode 100644 index 6a507da1..00000000 Binary files a/system/quests/q219-shp-bb.bin and /dev/null differ diff --git a/system/quests/q219-shp-bb.dat b/system/quests/q219-shp-bb.dat deleted file mode 100644 index f7cf6fae..00000000 Binary files a/system/quests/q219-shp-bb.dat and /dev/null differ diff --git a/system/quests/q220-evt-gc.bin b/system/quests/q220-evt-gc.bin index 1e505021..e760ae32 100644 Binary files a/system/quests/q220-evt-gc.bin and b/system/quests/q220-evt-gc.bin differ diff --git a/system/quests/q220-evt-gc.dat b/system/quests/q220-evt-gc.dat index 7c65f36c..6267a7a2 100644 Binary files a/system/quests/q220-evt-gc.dat and b/system/quests/q220-evt-gc.dat differ diff --git a/system/quests/q222-vr-bb.bin b/system/quests/q222-vr-bb.bin new file mode 100644 index 00000000..697d5deb Binary files /dev/null and b/system/quests/q222-vr-bb.bin differ diff --git a/system/quests/q222-vr-bb.dat b/system/quests/q222-vr-bb.dat new file mode 100644 index 00000000..e09b6c9e Binary files /dev/null and b/system/quests/q222-vr-bb.dat differ diff --git a/system/quests/q222-vr-gc.bin b/system/quests/q222-vr-gc.bin index c711bc57..f3872457 100644 Binary files a/system/quests/q222-vr-gc.bin and b/system/quests/q222-vr-gc.bin differ diff --git a/system/quests/q222-vr-gc.dat b/system/quests/q222-vr-gc.dat index aaaa80f6..cb2948c4 100644 Binary files a/system/quests/q222-vr-gc.dat and b/system/quests/q222-vr-gc.dat differ diff --git a/system/quests/q223-twr-bb.bin b/system/quests/q223-twr-bb.bin index 8e4f2d6c..6e8cad4b 100644 Binary files a/system/quests/q223-twr-bb.bin and b/system/quests/q223-twr-bb.bin differ diff --git a/system/quests/q223-twr-bb.dat b/system/quests/q223-twr-bb.dat index af4ee8d9..e23e57ef 100644 Binary files a/system/quests/q223-twr-bb.dat and b/system/quests/q223-twr-bb.dat differ diff --git a/system/quests/q223-twr-gc.bin b/system/quests/q223-twr-gc.bin index ceb2430f..86b40a99 100644 Binary files a/system/quests/q223-twr-gc.bin and b/system/quests/q223-twr-gc.bin differ diff --git a/system/quests/q223-twr-gc.dat b/system/quests/q223-twr-gc.dat index 4c366da2..258021b7 100644 Binary files a/system/quests/q223-twr-gc.dat and b/system/quests/q223-twr-gc.dat differ diff --git a/system/quests/q224-twr-bb.bin b/system/quests/q224-twr-bb.bin index 12c2b36f..cdbce716 100644 Binary files a/system/quests/q224-twr-bb.bin and b/system/quests/q224-twr-bb.bin differ diff --git a/system/quests/q224-twr-bb.dat b/system/quests/q224-twr-bb.dat index b03cde57..a2dd3b51 100644 Binary files a/system/quests/q224-twr-bb.dat and b/system/quests/q224-twr-bb.dat differ diff --git a/system/quests/q224-twr-gc.bin b/system/quests/q224-twr-gc.bin index 49f7556f..fabc0c46 100644 Binary files a/system/quests/q224-twr-gc.bin and b/system/quests/q224-twr-gc.bin differ diff --git a/system/quests/q224-twr-gc.dat b/system/quests/q224-twr-gc.dat index 56038c89..8c724645 100644 Binary files a/system/quests/q224-twr-gc.dat and b/system/quests/q224-twr-gc.dat differ diff --git a/system/quests/q230-vr-gc.bin b/system/quests/q230-vr-gc.bin index e74b9a98..f2e98bbb 100644 Binary files a/system/quests/q230-vr-gc.bin and b/system/quests/q230-vr-gc.bin differ diff --git a/system/quests/q230-vr-gc.dat b/system/quests/q230-vr-gc.dat index 2d778959..b4f445c3 100644 Binary files a/system/quests/q230-vr-gc.dat and b/system/quests/q230-vr-gc.dat differ diff --git a/system/quests/q231-vr-gc.bin b/system/quests/q231-vr-gc.bin index 5a56839f..31201b07 100644 Binary files a/system/quests/q231-vr-gc.bin and b/system/quests/q231-vr-gc.bin differ diff --git a/system/quests/q231-vr-gc.dat b/system/quests/q231-vr-gc.dat index 8850f694..78101fcd 100644 Binary files a/system/quests/q231-vr-gc.dat and b/system/quests/q231-vr-gc.dat differ diff --git a/system/quests/q232-evt-gc.bin b/system/quests/q232-evt-gc.bin index 0f3c7636..e411b9be 100644 Binary files a/system/quests/q232-evt-gc.bin and b/system/quests/q232-evt-gc.bin differ diff --git a/system/quests/q232-evt-gc.dat b/system/quests/q232-evt-gc.dat index 143cf61c..61f3724e 100644 Binary files a/system/quests/q232-evt-gc.dat and b/system/quests/q232-evt-gc.dat differ diff --git a/system/quests/q233-ext-bb.bin b/system/quests/q233-ext-bb.bin index 7ff98107..597603be 100644 Binary files a/system/quests/q233-ext-bb.bin and b/system/quests/q233-ext-bb.bin differ diff --git a/system/quests/q233-ext-bb.dat b/system/quests/q233-ext-bb.dat index 8a340f79..995ff7c4 100644 Binary files a/system/quests/q233-ext-bb.dat and b/system/quests/q233-ext-bb.dat differ diff --git a/system/quests/q233-ext-gc.bin b/system/quests/q233-ext-gc.bin index e47111be..429d0ca5 100644 Binary files a/system/quests/q233-ext-gc.bin and b/system/quests/q233-ext-gc.bin differ diff --git a/system/quests/q233-ext-gc.dat b/system/quests/q233-ext-gc.dat index effcb41c..5ae75892 100644 Binary files a/system/quests/q233-ext-gc.dat and b/system/quests/q233-ext-gc.dat differ diff --git a/system/quests/q234-ext-bb.bin b/system/quests/q234-ext-bb.bin index 5ac972ab..9df5b251 100644 Binary files a/system/quests/q234-ext-bb.bin and b/system/quests/q234-ext-bb.bin differ diff --git a/system/quests/q234-ext-bb.dat b/system/quests/q234-ext-bb.dat index aa690f3a..b34f2df7 100644 Binary files a/system/quests/q234-ext-bb.dat and b/system/quests/q234-ext-bb.dat differ diff --git a/system/quests/q234-ext-gc.bin b/system/quests/q234-ext-gc.bin index 403be771..f34a13b0 100644 Binary files a/system/quests/q234-ext-gc.bin and b/system/quests/q234-ext-gc.bin differ diff --git a/system/quests/q234-ext-gc.dat b/system/quests/q234-ext-gc.dat index ace6e24f..f7d9b3c6 100644 Binary files a/system/quests/q234-ext-gc.dat and b/system/quests/q234-ext-gc.dat differ diff --git a/system/quests/q235-ext-bb.bin b/system/quests/q235-ext-bb.bin index 3f6bc977..28f0d853 100644 Binary files a/system/quests/q235-ext-bb.bin and b/system/quests/q235-ext-bb.bin differ diff --git a/system/quests/q235-ext-bb.dat b/system/quests/q235-ext-bb.dat index cb256e2c..826c3e77 100644 Binary files a/system/quests/q235-ext-bb.dat and b/system/quests/q235-ext-bb.dat differ diff --git a/system/quests/q235-ext-gc.bin b/system/quests/q235-ext-gc.bin index 839be7d4..b30dd08c 100644 Binary files a/system/quests/q235-ext-gc.bin and b/system/quests/q235-ext-gc.bin differ diff --git a/system/quests/q235-ext-gc.dat b/system/quests/q235-ext-gc.dat index a49064aa..b5be26da 100644 Binary files a/system/quests/q235-ext-gc.dat and b/system/quests/q235-ext-gc.dat differ diff --git a/system/quests/q236-ext-bb.bin b/system/quests/q236-ext-bb.bin index f979433e..cbeedcd7 100644 Binary files a/system/quests/q236-ext-bb.bin and b/system/quests/q236-ext-bb.bin differ diff --git a/system/quests/q236-ext-bb.dat b/system/quests/q236-ext-bb.dat index c4f2351f..808d409f 100644 Binary files a/system/quests/q236-ext-bb.dat and b/system/quests/q236-ext-bb.dat differ diff --git a/system/quests/q236-ext-gc.bin b/system/quests/q236-ext-gc.bin index 07845dbd..6f1faa8b 100644 Binary files a/system/quests/q236-ext-gc.bin and b/system/quests/q236-ext-gc.bin differ diff --git a/system/quests/q236-ext-gc.dat b/system/quests/q236-ext-gc.dat index 4797ef47..52cf3414 100644 Binary files a/system/quests/q236-ext-gc.dat and b/system/quests/q236-ext-gc.dat differ diff --git a/system/quests/q237-vr-gc.bin b/system/quests/q237-vr-gc.bin index 940e1440..30d3d260 100644 Binary files a/system/quests/q237-vr-gc.bin and b/system/quests/q237-vr-gc.bin differ diff --git a/system/quests/q237-vr-gc.dat b/system/quests/q237-vr-gc.dat index de477e75..ff6321b9 100644 Binary files a/system/quests/q237-vr-gc.dat and b/system/quests/q237-vr-gc.dat differ diff --git a/system/quests/q238-vr-gc.bin b/system/quests/q238-vr-gc.bin index 2e060415..75904ad1 100644 Binary files a/system/quests/q238-vr-gc.bin and b/system/quests/q238-vr-gc.bin differ diff --git a/system/quests/q238-vr-gc.dat b/system/quests/q238-vr-gc.dat index 8ed879cb..11339e5b 100644 Binary files a/system/quests/q238-vr-gc.dat and b/system/quests/q238-vr-gc.dat differ diff --git a/system/quests/q239-evt-gc.bin b/system/quests/q239-evt-gc.bin index 8ed4cfe3..8bb0c2a2 100644 Binary files a/system/quests/q239-evt-gc.bin and b/system/quests/q239-evt-gc.bin differ diff --git a/system/quests/q239-evt-gc.dat b/system/quests/q239-evt-gc.dat index 0370b04f..7a4bc35d 100644 Binary files a/system/quests/q239-evt-gc.dat and b/system/quests/q239-evt-gc.dat differ diff --git a/system/quests/q335-evt-gc.bin b/system/quests/q335-evt-gc.bin index c3c0989f..4455d0fd 100644 Binary files a/system/quests/q335-evt-gc.bin and b/system/quests/q335-evt-gc.bin differ diff --git a/system/quests/q335-evt-gc.dat b/system/quests/q335-evt-gc.dat index f19a5e32..9621f7c1 100644 Binary files a/system/quests/q335-evt-gc.dat and b/system/quests/q335-evt-gc.dat differ diff --git a/system/quests/q401-gv1-bb.bin b/system/quests/q401-gv1-bb.bin index adc68417..b1b5a817 100644 Binary files a/system/quests/q401-gv1-bb.bin and b/system/quests/q401-gv1-bb.bin differ diff --git a/system/quests/q401-gv1-bb.dat b/system/quests/q401-gv1-bb.dat index 8ce48728..43d5292a 100644 Binary files a/system/quests/q401-gv1-bb.dat and b/system/quests/q401-gv1-bb.dat differ diff --git a/system/quests/q402-gv1-bb.bin b/system/quests/q402-gv1-bb.bin index 8f8c2507..c990b8e0 100644 Binary files a/system/quests/q402-gv1-bb.bin and b/system/quests/q402-gv1-bb.bin differ diff --git a/system/quests/q402-gv1-bb.dat b/system/quests/q402-gv1-bb.dat index 0368f4e6..9ac540ac 100644 Binary files a/system/quests/q402-gv1-bb.dat and b/system/quests/q402-gv1-bb.dat differ diff --git a/system/quests/q403-gv1-bb.bin b/system/quests/q403-gv1-bb.bin index 4d51effd..bd816d7d 100644 Binary files a/system/quests/q403-gv1-bb.bin and b/system/quests/q403-gv1-bb.bin differ diff --git a/system/quests/q403-gv1-bb.dat b/system/quests/q403-gv1-bb.dat index b2d50e67..c74a34e5 100644 Binary files a/system/quests/q403-gv1-bb.dat and b/system/quests/q403-gv1-bb.dat differ diff --git a/system/quests/q404-gv1-bb.bin b/system/quests/q404-gv1-bb.bin index 49f37c35..98f7b371 100644 Binary files a/system/quests/q404-gv1-bb.bin and b/system/quests/q404-gv1-bb.bin differ diff --git a/system/quests/q404-gv1-bb.dat b/system/quests/q404-gv1-bb.dat index 5f8ec836..11df8638 100644 Binary files a/system/quests/q404-gv1-bb.dat and b/system/quests/q404-gv1-bb.dat differ diff --git a/system/quests/q405-gv1-bb.bin b/system/quests/q405-gv1-bb.bin index 3c37148a..e95c3386 100644 Binary files a/system/quests/q405-gv1-bb.bin and b/system/quests/q405-gv1-bb.bin differ diff --git a/system/quests/q405-gv1-bb.dat b/system/quests/q405-gv1-bb.dat index 5547ade1..625ed13e 100644 Binary files a/system/quests/q405-gv1-bb.dat and b/system/quests/q405-gv1-bb.dat differ diff --git a/system/quests/q406-gv1-bb.bin b/system/quests/q406-gv1-bb.bin index f176a605..d980c3ff 100644 Binary files a/system/quests/q406-gv1-bb.bin and b/system/quests/q406-gv1-bb.bin differ diff --git a/system/quests/q406-gv1-bb.dat b/system/quests/q406-gv1-bb.dat index 1ceb52b1..0a08c505 100644 Binary files a/system/quests/q406-gv1-bb.dat and b/system/quests/q406-gv1-bb.dat differ diff --git a/system/quests/q407-gv1-bb.bin b/system/quests/q407-gv1-bb.bin index 59f30913..dc0f15dd 100644 Binary files a/system/quests/q407-gv1-bb.bin and b/system/quests/q407-gv1-bb.bin differ diff --git a/system/quests/q407-gv1-bb.dat b/system/quests/q407-gv1-bb.dat index 9f852c42..7bec658f 100644 Binary files a/system/quests/q407-gv1-bb.dat and b/system/quests/q407-gv1-bb.dat differ diff --git a/system/quests/q408-gv1-bb.bin b/system/quests/q408-gv1-bb.bin index 083bcd27..04185c1f 100644 Binary files a/system/quests/q408-gv1-bb.bin and b/system/quests/q408-gv1-bb.bin differ diff --git a/system/quests/q408-gv1-bb.dat b/system/quests/q408-gv1-bb.dat index 62f38399..6e009bce 100644 Binary files a/system/quests/q408-gv1-bb.dat and b/system/quests/q408-gv1-bb.dat differ diff --git a/system/quests/q409-gv1-bb.bin b/system/quests/q409-gv1-bb.bin index 23c24051..d4f13437 100644 Binary files a/system/quests/q409-gv1-bb.bin and b/system/quests/q409-gv1-bb.bin differ diff --git a/system/quests/q409-gv1-bb.dat b/system/quests/q409-gv1-bb.dat index 29d1286b..bb66a65c 100644 Binary files a/system/quests/q409-gv1-bb.dat and b/system/quests/q409-gv1-bb.dat differ diff --git a/system/quests/q410-gv1-bb.bin b/system/quests/q410-gv1-bb.bin index 06e7aa6b..2c55106d 100644 Binary files a/system/quests/q410-gv1-bb.bin and b/system/quests/q410-gv1-bb.bin differ diff --git a/system/quests/q410-gv1-bb.dat b/system/quests/q410-gv1-bb.dat index c81a7750..e49b576b 100644 Binary files a/system/quests/q410-gv1-bb.dat and b/system/quests/q410-gv1-bb.dat differ diff --git a/system/quests/q411-gv1-bb.bin b/system/quests/q411-gv1-bb.bin index 53dc1051..42ffd172 100644 Binary files a/system/quests/q411-gv1-bb.bin and b/system/quests/q411-gv1-bb.bin differ diff --git a/system/quests/q411-gv1-bb.dat b/system/quests/q411-gv1-bb.dat index 5581ee49..e09f7299 100644 Binary files a/system/quests/q411-gv1-bb.dat and b/system/quests/q411-gv1-bb.dat differ diff --git a/system/quests/q412-gv1-bb.bin b/system/quests/q412-gv1-bb.bin index 98cff885..d4b4f2ef 100644 Binary files a/system/quests/q412-gv1-bb.bin and b/system/quests/q412-gv1-bb.bin differ diff --git a/system/quests/q412-gv1-bb.dat b/system/quests/q412-gv1-bb.dat index d5b79881..4509c1b2 100644 Binary files a/system/quests/q412-gv1-bb.dat and b/system/quests/q412-gv1-bb.dat differ diff --git a/system/quests/q413-gv1-bb.bin b/system/quests/q413-gv1-bb.bin index bf1136e4..fe14c495 100644 Binary files a/system/quests/q413-gv1-bb.bin and b/system/quests/q413-gv1-bb.bin differ diff --git a/system/quests/q413-gv1-bb.dat b/system/quests/q413-gv1-bb.dat index a8ffc573..a724fda5 100644 Binary files a/system/quests/q413-gv1-bb.dat and b/system/quests/q413-gv1-bb.dat differ diff --git a/system/quests/q414-gv1-bb.bin b/system/quests/q414-gv1-bb.bin index 866dc227..1fb78e15 100644 Binary files a/system/quests/q414-gv1-bb.bin and b/system/quests/q414-gv1-bb.bin differ diff --git a/system/quests/q414-gv1-bb.dat b/system/quests/q414-gv1-bb.dat index 3d00ab8a..6802ec55 100644 Binary files a/system/quests/q414-gv1-bb.dat and b/system/quests/q414-gv1-bb.dat differ diff --git a/system/quests/q415-gv1-bb.bin b/system/quests/q415-gv1-bb.bin index bc2e216f..c69f68fd 100644 Binary files a/system/quests/q415-gv1-bb.bin and b/system/quests/q415-gv1-bb.bin differ diff --git a/system/quests/q415-gv1-bb.dat b/system/quests/q415-gv1-bb.dat index 06f23a69..dd12f22d 100644 Binary files a/system/quests/q415-gv1-bb.dat and b/system/quests/q415-gv1-bb.dat differ diff --git a/system/quests/q451-gv2-bb.bin b/system/quests/q451-gv2-bb.bin index 891e8c30..ccae43e0 100644 Binary files a/system/quests/q451-gv2-bb.bin and b/system/quests/q451-gv2-bb.bin differ diff --git a/system/quests/q451-gv2-bb.dat b/system/quests/q451-gv2-bb.dat index e10548e0..dfab4674 100644 Binary files a/system/quests/q451-gv2-bb.dat and b/system/quests/q451-gv2-bb.dat differ diff --git a/system/quests/q452-gv2-bb.bin b/system/quests/q452-gv2-bb.bin index 1bf1c1f5..96fcb416 100644 Binary files a/system/quests/q452-gv2-bb.bin and b/system/quests/q452-gv2-bb.bin differ diff --git a/system/quests/q452-gv2-bb.dat b/system/quests/q452-gv2-bb.dat index 8b3f5131..acbfdc8b 100644 Binary files a/system/quests/q452-gv2-bb.dat and b/system/quests/q452-gv2-bb.dat differ diff --git a/system/quests/q453-gv2-bb.bin b/system/quests/q453-gv2-bb.bin index bd691027..2e839793 100644 Binary files a/system/quests/q453-gv2-bb.bin and b/system/quests/q453-gv2-bb.bin differ diff --git a/system/quests/q453-gv2-bb.dat b/system/quests/q453-gv2-bb.dat index 2e20d1c1..5d7e6131 100644 Binary files a/system/quests/q453-gv2-bb.dat and b/system/quests/q453-gv2-bb.dat differ diff --git a/system/quests/q454-gv2-bb.bin b/system/quests/q454-gv2-bb.bin index 117ca48b..91a9f642 100644 Binary files a/system/quests/q454-gv2-bb.bin and b/system/quests/q454-gv2-bb.bin differ diff --git a/system/quests/q454-gv2-bb.dat b/system/quests/q454-gv2-bb.dat index 3897ebf8..95f87fbf 100644 Binary files a/system/quests/q454-gv2-bb.dat and b/system/quests/q454-gv2-bb.dat differ diff --git a/system/quests/q455-gv2-bb.bin b/system/quests/q455-gv2-bb.bin index faed7a72..ec03717d 100644 Binary files a/system/quests/q455-gv2-bb.bin and b/system/quests/q455-gv2-bb.bin differ diff --git a/system/quests/q455-gv2-bb.dat b/system/quests/q455-gv2-bb.dat index f714ac44..129766a7 100644 Binary files a/system/quests/q455-gv2-bb.dat and b/system/quests/q455-gv2-bb.dat differ diff --git a/system/quests/q456-gv2-bb.bin b/system/quests/q456-gv2-bb.bin index 57b35b25..8ada89a3 100644 Binary files a/system/quests/q456-gv2-bb.bin and b/system/quests/q456-gv2-bb.bin differ diff --git a/system/quests/q456-gv2-bb.dat b/system/quests/q456-gv2-bb.dat index f9a601e0..eb70af65 100644 Binary files a/system/quests/q456-gv2-bb.dat and b/system/quests/q456-gv2-bb.dat differ diff --git a/system/quests/q457-gv2-bb.bin b/system/quests/q457-gv2-bb.bin index ea976746..c8b19382 100644 Binary files a/system/quests/q457-gv2-bb.bin and b/system/quests/q457-gv2-bb.bin differ diff --git a/system/quests/q457-gv2-bb.dat b/system/quests/q457-gv2-bb.dat index 2ee7e3b1..4248439b 100644 Binary files a/system/quests/q457-gv2-bb.dat and b/system/quests/q457-gv2-bb.dat differ diff --git a/system/quests/q458-gv2-bb.bin b/system/quests/q458-gv2-bb.bin index e57beee9..c5bbe81e 100644 Binary files a/system/quests/q458-gv2-bb.bin and b/system/quests/q458-gv2-bb.bin differ diff --git a/system/quests/q458-gv2-bb.dat b/system/quests/q458-gv2-bb.dat index c7c10af3..d0d26b4d 100644 Binary files a/system/quests/q458-gv2-bb.dat and b/system/quests/q458-gv2-bb.dat differ diff --git a/system/quests/q459-gv2-bb.bin b/system/quests/q459-gv2-bb.bin index 8fc6a316..b652572a 100644 Binary files a/system/quests/q459-gv2-bb.bin and b/system/quests/q459-gv2-bb.bin differ diff --git a/system/quests/q459-gv2-bb.dat b/system/quests/q459-gv2-bb.dat index 46587105..83ae0879 100644 Binary files a/system/quests/q459-gv2-bb.dat and b/system/quests/q459-gv2-bb.dat differ diff --git a/system/quests/q460-gv2-bb.bin b/system/quests/q460-gv2-bb.bin index 07173806..3543269f 100644 Binary files a/system/quests/q460-gv2-bb.bin and b/system/quests/q460-gv2-bb.bin differ diff --git a/system/quests/q460-gv2-bb.dat b/system/quests/q460-gv2-bb.dat index ba9ceecf..52e1d1ed 100644 Binary files a/system/quests/q460-gv2-bb.dat and b/system/quests/q460-gv2-bb.dat differ diff --git a/system/quests/q461-gv2-bb.bin b/system/quests/q461-gv2-bb.bin index a77d25ab..4f1d8478 100644 Binary files a/system/quests/q461-gv2-bb.bin and b/system/quests/q461-gv2-bb.bin differ diff --git a/system/quests/q461-gv2-bb.dat b/system/quests/q461-gv2-bb.dat index 06b35cde..2283f08d 100644 Binary files a/system/quests/q461-gv2-bb.dat and b/system/quests/q461-gv2-bb.dat differ diff --git a/system/quests/q462-gv2-bb.bin b/system/quests/q462-gv2-bb.bin index 0d949670..d7120c9b 100644 Binary files a/system/quests/q462-gv2-bb.bin and b/system/quests/q462-gv2-bb.bin differ diff --git a/system/quests/q462-gv2-bb.dat b/system/quests/q462-gv2-bb.dat index fb17164f..cfaa9840 100644 Binary files a/system/quests/q462-gv2-bb.dat and b/system/quests/q462-gv2-bb.dat differ diff --git a/system/quests/q463-gv2-bb.bin b/system/quests/q463-gv2-bb.bin index 5c148f57..00c38a0d 100644 Binary files a/system/quests/q463-gv2-bb.bin and b/system/quests/q463-gv2-bb.bin differ diff --git a/system/quests/q463-gv2-bb.dat b/system/quests/q463-gv2-bb.dat index 33bfc96f..fa1825e3 100644 Binary files a/system/quests/q463-gv2-bb.dat and b/system/quests/q463-gv2-bb.dat differ diff --git a/system/quests/q464-gv2-bb.bin b/system/quests/q464-gv2-bb.bin index 94e46058..391bd736 100644 Binary files a/system/quests/q464-gv2-bb.bin and b/system/quests/q464-gv2-bb.bin differ diff --git a/system/quests/q464-gv2-bb.dat b/system/quests/q464-gv2-bb.dat index 827788b7..8dcf522a 100644 Binary files a/system/quests/q464-gv2-bb.dat and b/system/quests/q464-gv2-bb.dat differ diff --git a/system/quests/q465-gv2-bb.bin b/system/quests/q465-gv2-bb.bin index 5b5f322c..90917be7 100644 Binary files a/system/quests/q465-gv2-bb.bin and b/system/quests/q465-gv2-bb.bin differ diff --git a/system/quests/q465-gv2-bb.dat b/system/quests/q465-gv2-bb.dat index 0baadf96..88dd9228 100644 Binary files a/system/quests/q465-gv2-bb.dat and b/system/quests/q465-gv2-bb.dat differ diff --git a/system/quests/q466-gv2-bb.bin b/system/quests/q466-gv2-bb.bin index 6e699e9c..3391cfde 100644 Binary files a/system/quests/q466-gv2-bb.bin and b/system/quests/q466-gv2-bb.bin differ diff --git a/system/quests/q466-gv2-bb.dat b/system/quests/q466-gv2-bb.dat index 898cc6cf..11fbaa10 100644 Binary files a/system/quests/q466-gv2-bb.dat and b/system/quests/q466-gv2-bb.dat differ diff --git a/system/quests/q467-gv2-bb.bin b/system/quests/q467-gv2-bb.bin index 0bef8a9e..927f6be8 100644 Binary files a/system/quests/q467-gv2-bb.bin and b/system/quests/q467-gv2-bb.bin differ diff --git a/system/quests/q467-gv2-bb.dat b/system/quests/q467-gv2-bb.dat index 78526c2f..3263a536 100644 Binary files a/system/quests/q467-gv2-bb.dat and b/system/quests/q467-gv2-bb.dat differ diff --git a/system/quests/q468-gv2-bb.bin b/system/quests/q468-gv2-bb.bin index 10dc65a4..aacf4b7d 100644 Binary files a/system/quests/q468-gv2-bb.bin and b/system/quests/q468-gv2-bb.bin differ diff --git a/system/quests/q468-gv2-bb.dat b/system/quests/q468-gv2-bb.dat index 29b979ee..845cab11 100644 Binary files a/system/quests/q468-gv2-bb.dat and b/system/quests/q468-gv2-bb.dat differ diff --git a/system/quests/q496-evt-gc.bin b/system/quests/q496-evt-gc.bin index a9014bd9..d64eed12 100644 Binary files a/system/quests/q496-evt-gc.bin and b/system/quests/q496-evt-gc.bin differ diff --git a/system/quests/q496-evt-gc.dat b/system/quests/q496-evt-gc.dat index 45890927..aa057fbd 100644 Binary files a/system/quests/q496-evt-gc.dat and b/system/quests/q496-evt-gc.dat differ diff --git a/system/quests/q701-gv4-bb.bin b/system/quests/q701-gv4-bb.bin index 85beebb8..0535f38c 100644 Binary files a/system/quests/q701-gv4-bb.bin and b/system/quests/q701-gv4-bb.bin differ diff --git a/system/quests/q701-gv4-bb.dat b/system/quests/q701-gv4-bb.dat index 12ffe1d9..2125674b 100644 Binary files a/system/quests/q701-gv4-bb.dat and b/system/quests/q701-gv4-bb.dat differ diff --git a/system/quests/q702-gv4-bb.bin b/system/quests/q702-gv4-bb.bin index 51910a77..07efbd9f 100644 Binary files a/system/quests/q702-gv4-bb.bin and b/system/quests/q702-gv4-bb.bin differ diff --git a/system/quests/q702-gv4-bb.dat b/system/quests/q702-gv4-bb.dat index 2f6b27b7..694cebe5 100644 Binary files a/system/quests/q702-gv4-bb.dat and b/system/quests/q702-gv4-bb.dat differ diff --git a/system/quests/q703-gv4-bb.bin b/system/quests/q703-gv4-bb.bin index 950e1886..9116babd 100644 Binary files a/system/quests/q703-gv4-bb.bin and b/system/quests/q703-gv4-bb.bin differ diff --git a/system/quests/q703-gv4-bb.dat b/system/quests/q703-gv4-bb.dat index 40de5b3b..5c996d18 100644 Binary files a/system/quests/q703-gv4-bb.dat and b/system/quests/q703-gv4-bb.dat differ diff --git a/system/quests/q704-gv4-bb.bin b/system/quests/q704-gv4-bb.bin index 4f478df9..68d43a17 100644 Binary files a/system/quests/q704-gv4-bb.bin and b/system/quests/q704-gv4-bb.bin differ diff --git a/system/quests/q704-gv4-bb.dat b/system/quests/q704-gv4-bb.dat index 369c6eaa..1a7c846d 100644 Binary files a/system/quests/q704-gv4-bb.dat and b/system/quests/q704-gv4-bb.dat differ diff --git a/system/quests/q705-gv4-bb.bin b/system/quests/q705-gv4-bb.bin index 047b0cab..42f52749 100644 Binary files a/system/quests/q705-gv4-bb.bin and b/system/quests/q705-gv4-bb.bin differ diff --git a/system/quests/q705-gv4-bb.dat b/system/quests/q705-gv4-bb.dat index dfbca3ef..c14fcaf5 100644 Binary files a/system/quests/q705-gv4-bb.dat and b/system/quests/q705-gv4-bb.dat differ diff --git a/system/quests/q706-gv4-bb.bin b/system/quests/q706-gv4-bb.bin index a0756444..def31c4c 100644 Binary files a/system/quests/q706-gv4-bb.bin and b/system/quests/q706-gv4-bb.bin differ diff --git a/system/quests/q706-gv4-bb.dat b/system/quests/q706-gv4-bb.dat index 9bbf24b7..0604481c 100644 Binary files a/system/quests/q706-gv4-bb.dat and b/system/quests/q706-gv4-bb.dat differ diff --git a/system/quests/q707-gv4-bb.bin b/system/quests/q707-gv4-bb.bin index 226f8639..72a8d018 100644 Binary files a/system/quests/q707-gv4-bb.bin and b/system/quests/q707-gv4-bb.bin differ diff --git a/system/quests/q707-gv4-bb.dat b/system/quests/q707-gv4-bb.dat index 3fd079a2..5bdf509b 100644 Binary files a/system/quests/q707-gv4-bb.dat and b/system/quests/q707-gv4-bb.dat differ diff --git a/system/quests/q708-gv4-bb.bin b/system/quests/q708-gv4-bb.bin index aa9a96d6..a4d2f94c 100644 Binary files a/system/quests/q708-gv4-bb.bin and b/system/quests/q708-gv4-bb.bin differ diff --git a/system/quests/q708-gv4-bb.dat b/system/quests/q708-gv4-bb.dat index e0afbaf2..aa8f6cb8 100644 Binary files a/system/quests/q708-gv4-bb.dat and b/system/quests/q708-gv4-bb.dat differ diff --git a/system/quests/q709-gv4-bb.bin b/system/quests/q709-gv4-bb.bin index 0f638bd1..9f7a201d 100644 Binary files a/system/quests/q709-gv4-bb.bin and b/system/quests/q709-gv4-bb.bin differ diff --git a/system/quests/q709-gv4-bb.dat b/system/quests/q709-gv4-bb.dat index 8b4be264..99a70f3d 100644 Binary files a/system/quests/q709-gv4-bb.dat and b/system/quests/q709-gv4-bb.dat differ diff --git a/system/quests/q811-ext-bb.bin b/system/quests/q811-ext-bb.bin index e046a379..04c8e5c0 100644 Binary files a/system/quests/q811-ext-bb.bin and b/system/quests/q811-ext-bb.bin differ diff --git a/system/quests/q811-ext-bb.dat b/system/quests/q811-ext-bb.dat index 2ac943b4..ed0a814e 100644 Binary files a/system/quests/q811-ext-bb.dat and b/system/quests/q811-ext-bb.dat differ diff --git a/system/quests/q812-ext-bb.bin b/system/quests/q812-ext-bb.bin index 648535b8..091aa780 100644 Binary files a/system/quests/q812-ext-bb.bin and b/system/quests/q812-ext-bb.bin differ diff --git a/system/quests/q812-ext-bb.dat b/system/quests/q812-ext-bb.dat index d32916d4..582ffee6 100644 Binary files a/system/quests/q812-ext-bb.dat and b/system/quests/q812-ext-bb.dat differ diff --git a/system/quests/q813-ext-bb.bin b/system/quests/q813-ext-bb.bin index aff9135e..e8b7065f 100644 Binary files a/system/quests/q813-ext-bb.bin and b/system/quests/q813-ext-bb.bin differ diff --git a/system/quests/q813-ext-bb.dat b/system/quests/q813-ext-bb.dat index d5710cbe..deec14f2 100644 Binary files a/system/quests/q813-ext-bb.dat and b/system/quests/q813-ext-bb.dat differ diff --git a/system/quests/q814-ext-bb.bin b/system/quests/q814-ext-bb.bin index f8101f6a..b83c6812 100644 Binary files a/system/quests/q814-ext-bb.bin and b/system/quests/q814-ext-bb.bin differ diff --git a/system/quests/q814-ext-bb.dat b/system/quests/q814-ext-bb.dat index 207234ff..2c711b32 100644 Binary files a/system/quests/q814-ext-bb.dat and b/system/quests/q814-ext-bb.dat differ diff --git a/system/quests/q815-ext-bb.bin b/system/quests/q815-ext-bb.bin index c9bcf872..fcf5da89 100644 Binary files a/system/quests/q815-ext-bb.bin and b/system/quests/q815-ext-bb.bin differ diff --git a/system/quests/q815-ext-bb.dat b/system/quests/q815-ext-bb.dat index 40324cd7..5d229090 100644 Binary files a/system/quests/q815-ext-bb.dat and b/system/quests/q815-ext-bb.dat differ diff --git a/system/quests/q999-shp-gc.bin b/system/quests/q999-shp-gc.bin index d00dec91..3a54b00e 100644 Binary files a/system/quests/q999-shp-gc.bin and b/system/quests/q999-shp-gc.bin differ diff --git a/system/quests/q999-shp-gc.dat b/system/quests/q999-shp-gc.dat index 9e476508..d1d9b8bc 100644 Binary files a/system/quests/q999-shp-gc.dat and b/system/quests/q999-shp-gc.dat differ