From 227702e19c4ec7b878f476a9e2e519be54e6764b Mon Sep 17 00:00:00 2001 From: hondacrx Date: Wed, 25 Oct 2017 17:07:46 -0400 Subject: [PATCH] Removed not used files --- Framework/Logging/Metric.cs | 273 - Game/DataStorage/ClientReader/DB6MetaOld.cs | 5985 ----------------- Game/OutdoorPVP/Zones/NagrandPvP.cs | 755 --- .../EasternKingdoms/Karazhan/ChessEvent.cs | 1703 ----- .../IcecrownCitadel/ProfessorPutricide.cs | 1524 ----- .../VioletHold/InstanceVioletHold.cs | 756 --- 6 files changed, 10996 deletions(-) delete mode 100644 Framework/Logging/Metric.cs delete mode 100644 Game/DataStorage/ClientReader/DB6MetaOld.cs delete mode 100644 Game/OutdoorPVP/Zones/NagrandPvP.cs delete mode 100644 Scripts/EasternKingdoms/Karazhan/ChessEvent.cs delete mode 100644 Scripts/Northrend/IcecrownCitadel/ProfessorPutricide.cs delete mode 100644 Scripts/Northrend/VioletHold/InstanceVioletHold.cs diff --git a/Framework/Logging/Metric.cs b/Framework/Logging/Metric.cs deleted file mode 100644 index f070a2a65..000000000 --- a/Framework/Logging/Metric.cs +++ /dev/null @@ -1,273 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using System.Timers; - -class Metric -{ - void Initialize(string realmName, Action overallStatusLogger) - { - _realmName = realmName; - _batchTimer = new Timer(); - _overallStatusTimer = new Timer(); - _overallStatusLogger = overallStatusLogger; - LoadFromConfigs(); - } - - bool Connect() - { - _dataStream.Connect(_hostname, _port); - auto error = _dataStream.Client.error(); - if (error) - { - TC_LOG_ERROR("metric", "Error connecting to '%s:%s', disabling Metric. Error message : %s", - _hostname.c_str(), _port.c_str(), error.message().c_str()); - _enabled = false; - return false; - } - _dataStream.clear(); - return true; - } - - void LoadFromConfigs() - { - bool previousValue = _enabled; - _enabled = sConfigMgr.GetBoolDefault("Metric.Enable", false); - _updateInterval = sConfigMgr.GetIntDefault("Metric.Interval", 10); - if (_updateInterval < 1) - { - TC_LOG_ERROR("metric", "'Metric.Interval' config set to %d, overriding to 1.", _updateInterval); - _updateInterval = 1; - } - - _overallStatusTimerInterval = sConfigMgr.GetIntDefault("Metric.OverallStatusInterval", 1); - if (_overallStatusTimerInterval < 1) - { - TC_LOG_ERROR("metric", "'Metric.OverallStatusInterval' config set to %d, overriding to 1.", _overallStatusTimerInterval); - _overallStatusTimerInterval = 1; - } - - // Schedule a send at this point only if the config changed from Disabled to Enabled. - // Cancel any scheduled operation if the config changed from Enabled to Disabled. - if (_enabled && !previousValue) - { - std::string connectionInfo = sConfigMgr.GetStringDefault("Metric.ConnectionInfo", ""); - if (connectionInfo.empty()) - { - TC_LOG_ERROR("metric", "'Metric.ConnectionInfo' not specified in configuration file."); - return; - } - - Tokenizer tokens(connectionInfo, ';'); - if (tokens.size() != 3) - { - TC_LOG_ERROR("metric", "'Metric.ConnectionInfo' specified with wrong format in configuration file."); - return; - } - - _hostname.assign(tokens[0]); - _port.assign(tokens[1]); - _databaseName.assign(tokens[2]); - Connect(); - - ScheduleSend(); - ScheduleOverallStatusLog(); - } - } - - void Update() - { - if (_overallStatusTimerTriggered) - { - _overallStatusTimerTriggered = false; - _overallStatusLogger(); - } - } - - void LogEvent(string category, string title, string description) - { - MetricData data = new MetricData(); - data.Category = category; - data.Timestamp = system_clock::now(); - data.Type = METRIC_DATA_EVENT; - data.Title = title; - data.Text = description; - - _queuedData.Enqueue(data); - } - - void SendBatch() - { - std::stringstream batchedData; - MetricData data; - bool firstLoop = true; - while (_queuedData.Dequeue(data)) - { - if (!firstLoop) - batchedData << "\n"; - - batchedData << data.Category; - if (!_realmName.empty()) - batchedData << ",realm=" << _realmName; - - batchedData << " "; - - switch (data.Type) - { - case METRIC_DATA_VALUE: - batchedData << "value=" << data.Value; - break; - case METRIC_DATA_EVENT: - batchedData << "title=\"" << data.Title << "\",text=\"" << data.Text << "\""; - break; - } - - batchedData << " "; - - batchedData << std::to_string(duration_cast(data.Timestamp.time_since_epoch()).count()); - - firstLoop = false; - delete data; - } - - // Check if there's any data to send - if (batchedData.tellp() == std::streampos(0)) - { - ScheduleSend(); - return; - } - - if (!_dataStream.good() && !Connect()) - return; - - var blah = new InfluxDB.Net.InfluxDb(_hostname, "root", "root", InfluxDB.Net.Enums.InfluxVersion.v010x); - InfluxDB.Net.Models.Serie b = new InfluxDB.Net.Models.Serie(); - b.Columns - _dataStream.UploadString( << "POST " << "/write?db=" << _databaseName << " HTTP/1.1\r\n"; - _dataStream << "Host: " << _hostname << ":" << _port << "\r\n"; - _dataStream << "Accept: */*\r\n"; - _dataStream << "Content-Type: application/octet-stream\r\n"; - _dataStream << "Content-Transfer-Encoding: binary\r\n"; - - _dataStream << "Content-Length: " << std::to_string(batchedData.tellp()) << "\r\n\r\n"; - _dataStream << batchedData.rdbuf(); - - std::string http_version; - _dataStream >> http_version; - unsigned int status_code = 0; - _dataStream >> status_code; - if (status_code != 204) - { - TC_LOG_ERROR("metric", "Error sending data, returned HTTP code: %u", status_code); - } - - // Read and ignore the status description - std::string status_description; - std::getline(_dataStream, status_description); - // Read headers - std::string header; - while (std::getline(_dataStream, header) && header != "\r") - { - if (header == "Connection: close\r") - _dataStream.close(); - } - - ScheduleSend(); - } - - void ScheduleSend() - { - if (_enabled) - { - _batchTimer.expires_from_now(boost::posix_time::seconds(_updateInterval)); - _batchTimer.async_wait(std::bind(&SendBatch, this)); - } - else - { - _dataStream.close(); - MetricData* data; - // Clear the queue - while (_queuedData.Dequeue(data)) - ; - } - } - - void ForceSend() - { - // Send what's queued only if io_service is stopped (so only on shutdown) - if (_enabled && _batchTimer.get_io_service().stopped()) - SendBatch(); - } - - void ScheduleOverallStatusLog() - { - if (_enabled) - { - _overallStatusTimer.expires_from_now(boost::posix_time::seconds(_overallStatusTimerInterval)); - _overallStatusTimer.async_wait([this](const boost::system::error_code&) - { - _overallStatusTimerTriggered = true; - ScheduleOverallStatusLog(); - }); - } - } - - static string FormatInfluxDBValue(T value) { return Convert.ToString(value) + 'i'; } - - static string FormatInfluxDBValue(string value) - { - return '"' + boost::replace_all_copy(value, "\"", "\\\"") + '"'; - } - static string FormatInfluxDBValue(bool value) { return value ? "t" : "f"; } - static string FormatInfluxDBValue(char[] value) { return FormatInfluxDBValue(new string(value)); } - static string FormatInfluxDBValue(double value) { return Convert.ToString(value); } - static string FormatInfluxDBValue(float value) { return FormatInfluxDBValue((double)value); } - - void LogValue(string category, T value) - { - MetricData data = new MetricData(); - data.Category = category; - data.Timestamp = DateTime.Now; - data.Type = MetricDataType.Value; - data.Value = FormatInfluxDBValue(value); - - _queuedData.Enqueue(data); - } - - System.Net.WebClient _dataStream; - MPSCQueue _queuedData; - Timer _batchTimer; - Timer _overallStatusTimer; - int _updateInterval = 0; - int _overallStatusTimerInterval = 0; - bool _enabled = false; - bool _overallStatusTimerTriggered = false; - string _hostname; - string _port; - string _databaseName; - Action _overallStatusLogger; - string _realmName; -} - -struct MetricData -{ - public string Category; - public DateTime Timestamp; - public MetricDataType Type; - - // LogValue-specific fields - public string Value; - - // LogEvent-specific fields - public string Title; - public string Text; -} - -enum MetricDataType -{ - Value, - Event -} - diff --git a/Game/DataStorage/ClientReader/DB6MetaOld.cs b/Game/DataStorage/ClientReader/DB6MetaOld.cs deleted file mode 100644 index c9b0a7883..000000000 --- a/Game/DataStorage/ClientReader/DB6MetaOld.cs +++ /dev/null @@ -1,5985 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace Game.DataStorage -{ - public struct DB6Meta - { - public DB6Meta(int indexField, byte[] arraySizes, object[] fieldDefaults) - { - IndexField = indexField; - ArraySizes = arraySizes; - FieldDefaults = fieldDefaults; - } - - bool HasIndexFieldInData() - { - return IndexField != -1; - } - - uint GetIndexField() - { - return (uint)(IndexField == -1 ? 0 : IndexField); - } - - uint GetDbIndexField() - { - if (IndexField == -1) - return 0; - - uint index = 0; - for (uint i = 0; i < ArraySizes.Length && i < IndexField; ++i) - index += ArraySizes[i]; - - return index; - } - - uint GetDbFieldCount() - { - uint fields = 0; - for (uint i = 0; i < ArraySizes.Length; ++i) - fields += ArraySizes[i]; - - if (!HasIndexFieldInData()) - ++fields; - - return fields; - } - - int IndexField; - public byte[] ArraySizes; - public object[] FieldDefaults; - } - - struct AchievementMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { "", "", 0, "", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; - return new DB6Meta(13, arraySizes, fieldDefaults); } - } - - struct Achievement_CategoryMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1 }; - object[] fieldDefaults = { "", 0, 0, 0 }; - return new DB6Meta(3, arraySizes, fieldDefaults); - } - } - - struct AdventureJournalMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1 }; - object[] fieldDefaults = { "", "", "", 0, 0, "", "", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct AdventureMapPOIMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0.0f, 0, "", "", 0, 0, 0, 0, 0, 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct AnimKitMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct AnimKitBoneSetMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { "", 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct AnimKitBoneSetAliasMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1 }; - object[] fieldDefaults = { 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct AnimKitConfigMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1 }; - object[] fieldDefaults = { 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct AnimKitConfigBoneSetMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct AnimKitPriorityMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1 }; - object[] fieldDefaults = { 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct AnimKitReplacementMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0, 0, 0 }; - return new DB6Meta(4, arraySizes, fieldDefaults); - } - } - - struct AnimKitSegmentMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0, 0.0f, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct AnimReplacementMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0, 0, 0 }; - return new DB6Meta(4, arraySizes, fieldDefaults); - } - } - - struct AnimReplacementSetMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1 }; - object[] fieldDefaults = { 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct AnimationDataMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, "", 0, 0, 0, 0 }; - return new DB6Meta(0, arraySizes, fieldDefaults); - } - } - - struct AreaFarClipOverrideMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0.0f, 0.0f, 0, 0 }; - return new DB6Meta(4, arraySizes, fieldDefaults); - } - } - - struct AreaGroupMemberMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1 }; - object[] fieldDefaults = { 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct AreaPOIMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0.0f, "", "", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct AreaPOIStateMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { "", 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct AreaTableMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, "", 0.0f, "", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct AreaTriggerMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; - return new DB6Meta(14, arraySizes, fieldDefaults); - } - } - - struct AreaTriggerActionSetMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1 }; - object[] fieldDefaults = { 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct AreaTriggerBoxMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 3 }; - object[] fieldDefaults = { 0.0f }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct AreaTriggerCylinderMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1 }; - object[] fieldDefaults = { 0.0f, 0.0f, 0.0f }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct AreaTriggerSphereMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1 }; - object[] fieldDefaults = { 0.0f }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct ArmorLocationMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0.0f, 0.0f, 0.0f, 0.0f, 0.0f }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct ArtifactMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { "", 0, 0, 0, 0, 0, 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct ArtifactAppearanceMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { "", 0, 0.0f, 0.0f, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; - return new DB6Meta(11, arraySizes, fieldDefaults); - } - } - - struct ArtifactAppearanceSetMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { "", "", 0, 0, 0, 0, 0, 0, 0 }; - return new DB6Meta(8, arraySizes, fieldDefaults); - } - } - - struct ArtifactCategoryMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1 }; - object[] fieldDefaults = { 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct ArtifactPowerMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 2, 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0.0f, 0, 0, 0, 0, 0, 0 }; - return new DB6Meta(5, arraySizes, fieldDefaults); - } - } - - struct ArtifactPowerLinkMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1 }; - object[] fieldDefaults = { 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct ArtifactPowerPickerMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1 }; - object[] fieldDefaults = { 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct ArtifactPowerRankMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0.0f, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct ArtifactQuestXPMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 10 }; - object[] fieldDefaults = { 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct ArtifactTierMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct ArtifactUnlockMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct AuctionHouseMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1 }; - object[] fieldDefaults = { "", 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct BankBagSlotPricesMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1 }; - object[] fieldDefaults = { 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct BannedAddOnsMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1 }; - object[] fieldDefaults = { "", "", 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct BarberShopStyleMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { "", "", 0.0f, 0, 0, 0, 0, 0 }; - return new DB6Meta(7, arraySizes, fieldDefaults); - } - } - - struct BattlePetAbilityMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, "", "", 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct BattlePetAbilityEffectMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 6, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0, 0, 0, 0, 0 }; - return new DB6Meta(6, arraySizes, fieldDefaults); - } - } - - struct BattlePetAbilityStateMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct BattlePetAbilityTurnMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0, 0, 0, 0 }; - return new DB6Meta(5, arraySizes, fieldDefaults); - } - } - - struct BattlePetBreedQualityMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1 }; - object[] fieldDefaults = { 0.0f, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct BattlePetBreedStateMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct BattlePetEffectPropertiesMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 6, 1, 6 }; - object[] fieldDefaults = { "", 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct BattlePetNPCTeamMemberMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1 }; - object[] fieldDefaults = { "" }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct BattlePetSpeciesMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0, "", "", 0, 0, 0, 0, 0, 0 }; - return new DB6Meta(8, arraySizes, fieldDefaults); - } - } - - struct BattlePetSpeciesStateMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct BattlePetSpeciesXAbilityMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct BattlePetStateMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1 }; - object[] fieldDefaults = { "", 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct BattlePetVisualMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, "", 0, 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct BattlemasterListMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1, 16, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { "", 0, "", "", "", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct BeamEffectMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0.0f, 0.0f, 0, 0, 0, 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct BoneWindModifierModelMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1 }; - object[] fieldDefaults = { 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct BoneWindModifiersMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 3, 1 }; - object[] fieldDefaults = { 0.0f, 0.0f }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct BountyMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct BountySetMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1 }; - object[] fieldDefaults = { 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct BroadcastTextMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 3, 3, 1, 1, 1, 2, 1 }; - object[] fieldDefaults = { "", "", 0, 0, 0, 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct CameraEffectMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1 }; - object[] fieldDefaults = { 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct CameraEffectEntryMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0, 0, 0, 0, 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct CameraModeMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0, 0, 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct CastableRaidBuffsMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1 }; - object[] fieldDefaults = { 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct CelestialBodyMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 2, 1, 1, 2, 2, 2, 1, 2, 1, 3, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0, 0, 0, 0, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0, 0 }; - return new DB6Meta(14, arraySizes, fieldDefaults); - } - } - - struct Cfg_CategoriesMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { "", 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct Cfg_ConfigsMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1 }; - object[] fieldDefaults = { 0.0f, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct Cfg_RegionsMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { "", 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct CharBaseInfoMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1 }; - object[] fieldDefaults = { 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct CharBaseSectionMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct CharComponentTextureLayoutsMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1 }; - object[] fieldDefaults = { 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct CharComponentTextureSectionsMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0, 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct CharHairGeosetsMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct CharSectionsMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 3, 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0, 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct CharShipmentMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0, 0, 0, 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct CharShipmentContainerMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { "", "", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct CharStartOutfitMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 24, 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0, 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct CharTitlesMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1 }; - object[] fieldDefaults = { "", "", 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct CharacterFaceBoneSetMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct CharacterFacialHairStylesMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 5, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct CharacterLoadoutMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct CharacterLoadoutItemMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1 }; - object[] fieldDefaults = { 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct ChatChannelsMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, "", "", 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct ChatProfanityMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1 }; - object[] fieldDefaults = { "", 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct ChrClassRaceSexMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct ChrClassTitleMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1 }; - object[] fieldDefaults = { "", "", 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct ChrClassUIDisplayMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct ChrClassVillainMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1 }; - object[] fieldDefaults = { "", 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct ChrClassesMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { "", "", "", "", "", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; - return new DB6Meta(18, arraySizes, fieldDefaults); - } - } - - struct ChrClassesXPowerTypesMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1 }; - object[] fieldDefaults = { 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct ChrRacesMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3 }; - object[] fieldDefaults = { 0, "", "", "", "", "", "", "", 0, 0, 0.0f, 0.0f, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct ChrSpecializationMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, "", "", "", 0, 0, 0, 0, 0, 0, 0, 0, 0 }; - return new DB6Meta(9, arraySizes, fieldDefaults); - } - } - - struct ChrUpgradeBucketMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0 }; - return new DB6Meta(2, arraySizes, fieldDefaults); - } - } - - struct ChrUpgradeBucketSpellMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1 }; - object[] fieldDefaults = { 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct ChrUpgradeTierMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1 }; - object[] fieldDefaults = { "", 0, 0, 0 }; - return new DB6Meta(3, arraySizes, fieldDefaults); - } - } - - struct CinematicCameraMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 3, 1, 1 }; - object[] fieldDefaults = { 0, 0.0f, 0.0f, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct CinematicSequencesMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 8 }; - object[] fieldDefaults = { 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct CloakDampeningMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 5, 5, 2, 2, 1, 1, 1 }; - object[] fieldDefaults = { 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct CombatConditionMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 2, 2, 2, 2, 1, 2, 2, 1 }; - object[] fieldDefaults = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct ComponentModelFileDataMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct ComponentTextureFileDataMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct ContributionMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 4, 1 }; - object[] fieldDefaults = { 0, 0, "", "", 0, 0 }; - return new DB6Meta(0, arraySizes, fieldDefaults); - } - } - - struct ConversationLineMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0, 0, 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct CreatureMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 3, 1, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0, 0.0f, "", "", "", "", 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct CreatureDifficultyMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 7, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct CreatureDispXUiCameraMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1 }; - object[] fieldDefaults = { 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct CreatureDisplayInfoMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0.0f, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0.0f, 0, 0, 0, 0, 0, 0, 255, 0, 1.0f, 0 }; - return new DB6Meta(0, arraySizes, fieldDefaults); - } - } - - struct CreatureDisplayInfoCondMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3 }; - object[] fieldDefaults = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct CreatureDisplayInfoEvtMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct CreatureDisplayInfoExtraMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1 }; - object[] fieldDefaults = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct CreatureDisplayInfoTrnMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0, 0.0f }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct CreatureFamilyMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 2, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0.0f, 0.0f, "", 0, 0, 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct CreatureImmunitiesMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 2, 1, 1, 1, 1, 1, 1, 8, 16 }; - object[] fieldDefaults = { 0, 0, 0, 0, 0, 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct CreatureModelDataMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1, 1, 1, 6, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct CreatureMovementInfoMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1 }; - object[] fieldDefaults = { 0.0f }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct CreatureSoundDataMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0.0f, 0.0f, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct CreatureTypeMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1 }; - object[] fieldDefaults = { "", 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct CreatureXContributionMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0 }; - return new DB6Meta(0, arraySizes, fieldDefaults); - } - } - - struct CriteriaMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct CriteriaTreeMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, "", 0, 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct CriteriaTreeXEffectMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1 }; - object[] fieldDefaults = { 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct CurrencyCategoryMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1 }; - object[] fieldDefaults = { "", 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct CurrencyTypesMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 2, 1, 1, 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { "", "", 0, 0, 0, "", 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct CurveMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1 }; - object[] fieldDefaults = { 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct CurvePointMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 2, 1, 1 }; - object[] fieldDefaults = { 0.0f, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct DeathThudLookupsMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct DecalPropertiesMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0, 0, 0, 0, 0, 0, 0 }; - return new DB6Meta(0, arraySizes, fieldDefaults); - } - } - - struct DeclinedWordMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1 }; - object[] fieldDefaults = { "", 0 }; - return new DB6Meta(1, arraySizes, fieldDefaults); - } - } - - struct DeclinedWordCasesMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1 }; - object[] fieldDefaults = { "", 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct DestructibleModelDataMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct DeviceBlacklistMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1 }; - object[] fieldDefaults = { 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct DeviceDefaultSettingsMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct DifficultyMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { "", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct DissolveEffectMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct DriverBlacklistMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0, 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct DungeonEncounterMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { "", 0, 0, 0, 0, 0, 0, 0, 0 }; - return new DB6Meta(6, arraySizes, fieldDefaults); - } - } - - struct DungeonMapMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 2, 2, 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0.0f, 0.0f, 0, 0, 0, 0, 0, 0 }; - return new DB6Meta(7, arraySizes, fieldDefaults); - } - } - - struct DungeonMapChunkMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0.0f, 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct DurabilityCostsMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 21, 8 }; - object[] fieldDefaults = { 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct DurabilityQualityMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1 }; - object[] fieldDefaults = { 0.0f }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct EdgeGlowEffectMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct EmotesMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { "", 0, 0, 0, 0, 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct EmotesTextMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1 }; - object[] fieldDefaults = { "", 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct EmotesTextDataMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1 }; - object[] fieldDefaults = { "", 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct EmotesTextSoundMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct EnvironmentalDamageMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1 }; - object[] fieldDefaults = { 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct ExhaustionMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0.0f, 0.0f, 0.0f, "", 0.0f, "", 0 }; - return new DB6Meta(7, arraySizes, fieldDefaults); - } - } - - struct FactionMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 4, 4, 2, 1, 1, 4, 1, 4, 4, 1, 1, 2, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0, 0.0f, "", "", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; - return new DB6Meta(0, arraySizes, fieldDefaults); - } - } - - struct FactionGroupMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1 }; - object[] fieldDefaults = { "", "", 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct FactionTemplateMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 4, 4, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0, 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct FootprintTexturesMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct FootstepTerrainLookupMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct FriendshipRepReactionMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1 }; - object[] fieldDefaults = { "", 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct FriendshipReputationMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, "", 0, 0 }; - return new DB6Meta(3, arraySizes, fieldDefaults); - } - } - - struct FullScreenEffectMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0, 0, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct GMSurveyAnswersMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1 }; - object[] fieldDefaults = { "", 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct GMSurveyCurrentSurveyMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1 }; - object[] fieldDefaults = { 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct GMSurveyQuestionsMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1 }; - object[] fieldDefaults = { "" }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct GMSurveySurveysMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 15 }; - object[] fieldDefaults = { 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct GameObjectArtKitMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 3, 4 }; - object[] fieldDefaults = { "", "" }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct GameObjectDiffAnimMapMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct GameObjectDisplayInfoMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 6, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0.0f, 0.0f, 0.0f, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct GameObjectDisplayInfoXSoundKitMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct GameObjectsMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 3, 4, 1, 8, 1, 1, 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0.0f, 0.0f, 0.0f, 0, "", 0, 0, 0, 0, 0, 0, 0 }; - return new DB6Meta(11, arraySizes, fieldDefaults); - } - } - - struct GameTipsMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1 }; - object[] fieldDefaults = { "", 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct GarrAbilityMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { "", "", 0, 0, 0, 0, 0, 0 }; - return new DB6Meta(7, arraySizes, fieldDefaults); - } - } - - struct GarrAbilityCategoryMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1 }; - object[] fieldDefaults = { "" }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct GarrAbilityEffectMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0.0f, 0.0f, 0.0f, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; - return new DB6Meta(11, arraySizes, fieldDefaults); - } - } - - struct GarrBuildingMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, "", "", "", "", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct GarrBuildingDoodadSetMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct GarrBuildingPlotInstMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 2, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0.0f, 0, 0, 0, 0 }; - return new DB6Meta(4, arraySizes, fieldDefaults); - } - } - - struct GarrClassSpecMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { "", "", "", 0, 0, 0, 0, 0 }; - return new DB6Meta(7, arraySizes, fieldDefaults); - } - } - - struct GarrClassSpecPlayerCondMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, "", 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct GarrEncounterMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, "", 0.0f, 0.0f, 0, 0, 0 }; - return new DB6Meta(5, arraySizes, fieldDefaults); - } - } - - struct GarrEncounterSetXEncounterMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1 }; - object[] fieldDefaults = { 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct GarrEncounterXMechanicMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct GarrFollItemSetMemberMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct GarrFollSupportSpellMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct GarrFollowerMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, "", "", 0, 0, 0, 0, "", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; - return new DB6Meta(31, arraySizes, fieldDefaults); - } - } - - struct GarrFollowerLevelXPMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct GarrFollowerQualityMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0, 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct GarrFollowerSetXFollowerMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1 }; - object[] fieldDefaults = { 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct GarrFollowerTypeMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0, 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct GarrFollowerUICreatureMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0.0f, 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct GarrFollowerXAbilityMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct GarrItemLevelUpgradeDataMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0, 0, 0 }; - return new DB6Meta(0, arraySizes, fieldDefaults); - } - } - - struct GarrMechanicMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1 }; - object[] fieldDefaults = { 0.0f, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct GarrMechanicSetXMechanicMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0 }; - return new DB6Meta(1, arraySizes, fieldDefaults); - } - } - - struct GarrMechanicTypeMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { "", "", 0, 0, 0 }; - return new DB6Meta(4, arraySizes, fieldDefaults); - } - } - - struct GarrMissionMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, "", "", "", 0.0f, 0.0f, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; - return new DB6Meta(19, arraySizes, fieldDefaults); - } - } - - struct GarrMissionTextureMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 2, 1 }; - object[] fieldDefaults = { 0.0f, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct GarrMissionTypeMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1 }; - object[] fieldDefaults = { "", 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct GarrMissionXEncounterMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0, 0, 0 }; - return new DB6Meta(1, arraySizes, fieldDefaults); - } - } - - struct GarrMissionXFollowerMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct GarrMssnBonusAbilityMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0.0f, 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct GarrPlotMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1, 1, 2 }; - object[] fieldDefaults = { "", 0, 0, 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct GarrPlotBuildingMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1 }; - object[] fieldDefaults = { 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct GarrPlotInstanceMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1 }; - object[] fieldDefaults = { "", 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct GarrPlotUICategoryMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1 }; - object[] fieldDefaults = { "", 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct GarrSiteLevelMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 2, 1, 1, 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0.0f, 0, 0, 0, 0, 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct GarrSiteLevelPlotInstMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 2, 1, 1, 1 }; - object[] fieldDefaults = { 0.0f, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct GarrSpecializationMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 2, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0.0f, "", "", 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct GarrStringMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1 }; - object[] fieldDefaults = { "" }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct GarrTalentMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, "", "", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; - return new DB6Meta(7, arraySizes, fieldDefaults); - } - } - - struct GarrTalentTreeMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct GarrTypeMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct GarrUiAnimClassInfoMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0.0f, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct GarrUiAnimRaceInfoMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct GemPropertiesMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct GlobalStringsMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1 }; - object[] fieldDefaults = { "", "", 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct GlyphBindableSpellMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1 }; - object[] fieldDefaults = { 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct GlyphExclusiveCategoryMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1 }; - object[] fieldDefaults = { "" }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct GlyphPropertiesMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct GlyphRequiredSpecMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1 }; - object[] fieldDefaults = { 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct GroundEffectDoodadMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1 }; - object[] fieldDefaults = { "", 0.0f, 0.0f, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct GroundEffectTextureMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 4, 4, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct GroupFinderActivityMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { "", "", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct GroupFinderActivityGrpMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1 }; - object[] fieldDefaults = { "", 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct GroupFinderCategoryMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1 }; - object[] fieldDefaults = { "", 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct GuildColorBackgroundMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct GuildColorBorderMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct GuildColorEmblemMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct GuildPerkSpellsMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1 }; - object[] fieldDefaults = { 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct HeirloomMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1, 2, 2, 1, 1, 1 }; - object[] fieldDefaults = { 0, "", 0, 0, 0, 0, 0, 0, 0, 0 }; - return new DB6Meta(9, arraySizes, fieldDefaults); - } - } - - struct HelmetAnimScalingMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1 }; - object[] fieldDefaults = { 0.0f, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct HelmetGeosetVisDataMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 9 }; - object[] fieldDefaults = { 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct HighlightColorMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct HolidayDescriptionsMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1 }; - object[] fieldDefaults = { "" }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct HolidayNamesMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1 }; - object[] fieldDefaults = { "" }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct HolidaysMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 16, 1, 10, 1, 1, 10, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, "", 0, 0, 0, 0, 0, 0, 0, 0, 0 }; - return new DB6Meta(0, arraySizes, fieldDefaults); - } - } - - struct HotfixMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1 }; - object[] fieldDefaults = { "", 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct ImportPriceArmorMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1 }; - object[] fieldDefaults = { 0.0f, 0.0f, 0.0f, 0.0f }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct ImportPriceQualityMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1 }; - object[] fieldDefaults = { 0.0f }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct ImportPriceShieldMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1 }; - object[] fieldDefaults = { 0.0f }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct ImportPriceWeaponMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1 }; - object[] fieldDefaults = { 0.0f }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct InvasionClientDataMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 2, 1, 1, 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { "", 0.0f, 0, 0, 0, 0, 0, 0, 0, 0 }; - return new DB6Meta(2, arraySizes, fieldDefaults); - } - } - - struct ItemMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0, 0, 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct ItemAppearanceMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct ItemAppearanceXUiCameraMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1 }; - object[] fieldDefaults = { 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct ItemArmorQualityMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 7, 1 }; - object[] fieldDefaults = { 0.0f, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct ItemArmorShieldMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 7, 1 }; - object[] fieldDefaults = { 0.0f, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct ItemArmorTotalMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0.0f, 0.0f, 0.0f, 0.0f, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct ItemBagFamilyMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1 }; - object[] fieldDefaults = { "" }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct ItemBonusMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 2, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct ItemBonusListLevelDeltaMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1 }; - object[] fieldDefaults = { 0, 0 }; - return new DB6Meta(1, arraySizes, fieldDefaults); - } - } - - struct ItemBonusTreeNodeMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct ItemChildEquipmentMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct ItemClassMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1 }; - object[] fieldDefaults = { 0.0f, "", 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct ItemContextPickerEntryMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct ItemCurrencyCostMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1 }; - object[] fieldDefaults = { 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct ItemDamageAmmoMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 7, 1 }; - object[] fieldDefaults = { 0.0f, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct ItemDamageOneHandMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 7, 1 }; - object[] fieldDefaults = { 0.0f, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct ItemDamageOneHandCasterMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 7, 1 }; - object[] fieldDefaults = { 0.0f, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct ItemDamageTwoHandMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 7, 1 }; - object[] fieldDefaults = { 0.0f, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct ItemDamageTwoHandCasterMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 7, 1 }; - object[] fieldDefaults = { 0.0f, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct ItemDisenchantLootMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct ItemDisplayInfoMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 2, 2, 3, 3, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct ItemDisplayInfoMaterialResMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct ItemDisplayXUiCameraMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1 }; - object[] fieldDefaults = { 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct ItemEffectMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0, 0, 0, 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct ItemExtendedCostMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 5, 5, 5, 1, 5, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct ItemGroupSoundsMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 4 }; - object[] fieldDefaults = { 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct ItemLevelSelectorMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1 }; - object[] fieldDefaults = { 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct ItemLimitCategoryMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1 }; - object[] fieldDefaults = { "", 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct ItemLimitCategoryConditionMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct ItemModifiedAppearanceMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0, 0, 0, 0 }; - return new DB6Meta(5, arraySizes, fieldDefaults); - } - } - - struct ItemModifiedAppearanceExtraMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct ItemNameDescriptionMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1 }; - object[] fieldDefaults = { "", 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct ItemPetFoodMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1 }; - object[] fieldDefaults = { "" }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct ItemPriceBaseMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1 }; - object[] fieldDefaults = { 0.0f, 0.0f, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct ItemRandomPropertiesMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 5 }; - object[] fieldDefaults = { "", 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct ItemRandomSuffixMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 5, 5 }; - object[] fieldDefaults = { "", 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct ItemRangedDisplayInfoMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct ItemSearchNameMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { "", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct ItemSetMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 17, 1, 1, 1 }; - object[] fieldDefaults = { "", 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct ItemSetSpellMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct ItemSparseMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 10, 10, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 10, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 10, 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0.0f, 0.0f, 0, 0, 0, 0, 0, 0, 0, 0, 0.0f, 0.0f, "", "", "", "", "", 0, 0.0f, 0, 0.0f, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct ItemSpecMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct ItemSpecOverrideMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1 }; - object[] fieldDefaults = { 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct ItemSubClassMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { "", "", 0, 0, 0, 0, 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct ItemSubClassMaskMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1 }; - object[] fieldDefaults = { 0, "", 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct ItemUpgradeMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct ItemVisualEffectsMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1 }; - object[] fieldDefaults = { "" }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct ItemVisualsMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 5 }; - object[] fieldDefaults = { 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct ItemXBonusTreeMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1 }; - object[] fieldDefaults = { 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct JournalEncounterMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0.0f, "", "", 0, 0, 0, 0, 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct JournalEncounterCreatureMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, "", "", 0, 0, 0 }; - return new DB6Meta(6, arraySizes, fieldDefaults); - } - } - - struct JournalEncounterItemMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0, 0, 0, 0 }; - return new DB6Meta(5, arraySizes, fieldDefaults); - } - } - - struct JournalEncounterSectionMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { "", "", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct JournalEncounterXDifficultyMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1 }; - object[] fieldDefaults = { 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct JournalInstanceMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0, 0, "", "", 0, 0, 0, 0, 0 }; - return new DB6Meta(10, arraySizes, fieldDefaults); - } - } - - struct JournalItemXDifficultyMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1 }; - object[] fieldDefaults = { 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct JournalSectionXDifficultyMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1 }; - object[] fieldDefaults = { 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct JournalTierMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1 }; - object[] fieldDefaults = { "" }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct JournalTierXInstanceMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1 }; - object[] fieldDefaults = { 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct KeyChainMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 32 }; - object[] fieldDefaults = { 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct KeystoneAffixMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1 }; - object[] fieldDefaults = { "", "", 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct LanguageWordsMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1 }; - object[] fieldDefaults = { "", 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct LanguagesMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1 }; - object[] fieldDefaults = { "", 0 }; - return new DB6Meta(1, arraySizes, fieldDefaults); - } - } - - struct LfgDungeonExpansionMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0, 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct LfgDungeonGroupMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1 }; - object[] fieldDefaults = { "", 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct LfgDungeonsMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { "", 0, "", "", 0.0f, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; - return new DB6Meta(31, arraySizes, fieldDefaults); - } - } - - struct LfgDungeonsGroupingMapMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct LfgRoleRequirementMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct LightMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 3, 1, 1, 1, 8 }; - object[] fieldDefaults = { 0.0f, 0.0f, 0.0f, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct LightDataMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0, 0, 0, 0, 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct LightParamsMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0, 0, 0, 0, 0 }; - return new DB6Meta(10, arraySizes, fieldDefaults); - } - } - - struct LightSkyboxMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1 }; - object[] fieldDefaults = { "", 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct LiquidMaterialMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1 }; - object[] fieldDefaults = { 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct LiquidObjectMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0.0f, 0.0f, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct LiquidTypeMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1, 1, 1, 6, 2, 18, 4, 1, 1, 1, 1, 1, 1, 6, 1 }; - object[] fieldDefaults = { "", 0, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, "", 0, 0.0f, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct LoadingScreenTaxiSplinesMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 10, 10, 1, 1, 1 }; - object[] fieldDefaults = { 0.0f, 0.0f, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct LoadingScreensMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct LocaleMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct LocationMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 3, 3 }; - object[] fieldDefaults = { 0.0f, 0.0f }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct LockMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 8, 8, 8, 8 }; - object[] fieldDefaults = { 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct LockTypeMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { "", "", "", "", 0 }; - return new DB6Meta(4, arraySizes, fieldDefaults); - } - } - - struct LookAtControllerMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0.0f, 0.0f, 0.0f, 0.0f, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct MailTemplateMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1 }; - object[] fieldDefaults = { "" }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct ManagedWorldStateMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; - return new DB6Meta(9, arraySizes, fieldDefaults); - } - } - - struct ManagedWorldStateBuffMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct ManagedWorldStateInputMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct ManifestInterfaceActionIconMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1 }; - object[] fieldDefaults = { 0 }; - return new DB6Meta(0, arraySizes, fieldDefaults); - } - } - - struct ManifestInterfaceDataMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1 }; - object[] fieldDefaults = { "", "" }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct ManifestInterfaceItemIconMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1 }; - object[] fieldDefaults = { 0 }; - return new DB6Meta(0, arraySizes, fieldDefaults); - } - } - - struct ManifestInterfaceTOCDataMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1 }; - object[] fieldDefaults = { "" }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct ManifestMP3Meta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1 }; - object[] fieldDefaults = { 0 }; - return new DB6Meta(0, arraySizes, fieldDefaults); - } - } - - struct MapMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 2, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { "", 0, 0.0f, 0.0f, "", "", "", "", "", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct MapCelestialBodyMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct MapChallengeModeMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 3, 1 }; - object[] fieldDefaults = { 0, "", 0, 0, 0 }; - return new DB6Meta(0, arraySizes, fieldDefaults); - } - } - - struct MapDifficultyMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { "", 0, 0, 0, 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct MapDifficultyXConditionMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1 }; - object[] fieldDefaults = { "", 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct MarketingPromotionsXLocaleMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0, 0, "", 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct MaterialMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct MinorTalentMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct ModelAnimCloakDampeningMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct ModelFileDataMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0 }; - return new DB6Meta(1, arraySizes, fieldDefaults); - } - } - - struct ModelRibbonQualityMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1 }; - object[] fieldDefaults = { 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct ModifierTreeMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0, 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct MountMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, "", "", "", 0.0f, 0, 0, 0, 0, 0, 0 }; - return new DB6Meta(8, arraySizes, fieldDefaults); - } - } - - struct MountCapabilityMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0, 0, 0, 0, 0, 0 }; - return new DB6Meta(6, arraySizes, fieldDefaults); - } - } - - struct MountTypeXCapabilityMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct MountXDisplayMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct MovieMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct MovieFileDataMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1 }; - object[] fieldDefaults = { 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct MovieVariationMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct NPCSoundsMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 4 }; - object[] fieldDefaults = { 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct NameGenMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1 }; - object[] fieldDefaults = { "", 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct NamesProfanityMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1 }; - object[] fieldDefaults = { "", 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct NamesReservedMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1 }; - object[] fieldDefaults = { "" }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct NamesReservedLocaleMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1 }; - object[] fieldDefaults = { "", 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct NpcModelItemSlotDisplayInfoMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct ObjectEffectMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 3, 1, 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { "", 0.0f, 0, 0, 0, 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct ObjectEffectGroupMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1 }; - object[] fieldDefaults = { "" }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct ObjectEffectModifierMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 4, 1, 1, 1 }; - object[] fieldDefaults = { 0.0f, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct ObjectEffectPackageMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1 }; - object[] fieldDefaults = { "" }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct ObjectEffectPackageElemMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct OutlineEffectMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0.0f, 0, 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct OverrideSpellDataMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 10, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct PageTextMaterialMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1 }; - object[] fieldDefaults = { "" }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct PaperDollItemFrameMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1 }; - object[] fieldDefaults = { "", "", 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct ParagonReputationMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct ParticleColorMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 3, 3, 3 }; - object[] fieldDefaults = { 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct PathMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0, 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct PathNodeMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0, 0 }; - return new DB6Meta(0, arraySizes, fieldDefaults); - } - } - - struct PathNodePropertyMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0, 0, 0 }; - return new DB6Meta(3, arraySizes, fieldDefaults); - } - } - - struct PathPropertyMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0, 0 }; - return new DB6Meta(3, arraySizes, fieldDefaults); - } - } - - struct PhaseMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1 }; - object[] fieldDefaults = { 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct PhaseShiftZoneSoundsMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct PhaseXPhaseGroupMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1 }; - object[] fieldDefaults = { 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct PlayerConditionMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 4, 1, 1, 1, 1, 1, 1, 4, 4, 4, 1, 4, 4, 4, 2, 1, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 4, 1, 1, 1, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 4, 4, 4, 1, 4, 1, 4, 6, 1, 1, 1, 2, 1 }; - object[] fieldDefaults = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct PositionerMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1 }; - object[] fieldDefaults = { 0.0f, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct PositionerStateMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0.0f, 0, 0, 0, 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct PositionerStateEntryMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0.0f, 0.0f, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct PowerDisplayMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { "", 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct PowerTypeMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { "", "", 0.0f, 0.0f, 0, 0, 0, 0, 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct PrestigeLevelInfoMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, "", 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct PvpBracketTypesMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 4 }; - object[] fieldDefaults = { 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct PvpDifficultyMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct PvpItemMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1 }; - object[] fieldDefaults = { 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct PvpRewardMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct PvpScalingEffectMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1 }; - object[] fieldDefaults = { 0.0f, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct PvpScalingEffectTypeMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1 }; - object[] fieldDefaults = { "" }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct PvpTalentMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, "", 0, 0, 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct PvpTalentUnlockMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct QuestFactionRewardMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 10 }; - object[] fieldDefaults = { 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct QuestFeedbackEffectMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct QuestInfoMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1 }; - object[] fieldDefaults = { "", 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct QuestLineMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1 }; - object[] fieldDefaults = { "" }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct QuestLineXQuestMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct QuestMoneyRewardMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 10 }; - object[] fieldDefaults = { 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct QuestObjectiveMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, "", 0, 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct QuestPOIBlobMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0, 0, 0, 0, 0, 0 }; - return new DB6Meta(0, arraySizes, fieldDefaults); - } - } - - struct QuestPOIPointMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0, 0 }; - return new DB6Meta(3, arraySizes, fieldDefaults); - } - } - - struct QuestPackageItemMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct QuestSortMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1 }; - object[] fieldDefaults = { "", 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct QuestV2Meta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1 }; - object[] fieldDefaults = { 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct QuestV2CliTaskMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, "", "", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; - return new DB6Meta(20, arraySizes, fieldDefaults); - } - } - - struct QuestXGroupActivityMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1 }; - object[] fieldDefaults = { 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct QuestXPMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 10 }; - object[] fieldDefaults = { 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct RacialMountsMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1 }; - object[] fieldDefaults = { 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct RandPropPointsMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 5, 5, 5 }; - object[] fieldDefaults = { 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct ResearchBranchMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { "", "", 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct ResearchFieldMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1 }; - object[] fieldDefaults = { "", 0, 0 }; - return new DB6Meta(2, arraySizes, fieldDefaults); - } - } - - struct ResearchProjectMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { "", "", 0, "", 0, 0, 0, 0, 0 }; - return new DB6Meta(7, arraySizes, fieldDefaults); - } - } - - struct ResearchSiteMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, "", 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct ResistancesMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1 }; - object[] fieldDefaults = { "", 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct RewardPackMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0.0f, 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct RewardPackXCurrencyTypeMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct RewardPackXItemMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct RibbonQualityMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0.0f, 0.0f, 0.0f, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct RulesetItemUpgradeMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1 }; - object[] fieldDefaults = { 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct ScalingStatDistributionMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct ScenarioMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1 }; - object[] fieldDefaults = { "", 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct ScenarioEventEntryMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1 }; - object[] fieldDefaults = { 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct ScenarioStepMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { "", "", 0, 0, 0, 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct SceneScriptMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1 }; - object[] fieldDefaults = { "", "", 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct SceneScriptPackageMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1 }; - object[] fieldDefaults = { "" }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct SceneScriptPackageMemberMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct ScheduledIntervalMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct ScheduledWorldStateMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0, 0, 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct ScheduledWorldStateGroupMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct ScheduledWorldStateXUniqCatMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0 }; - return new DB6Meta(0, arraySizes, fieldDefaults); - } - } - - struct ScreenEffectMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { "", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct ScreenLocationMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1 }; - object[] fieldDefaults = { "" }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct SeamlessSiteMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1 }; - object[] fieldDefaults = { 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct ServerMessagesMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1 }; - object[] fieldDefaults = { "" }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct ShadowyEffectMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct SkillLineMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { "", "", "", 0, 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct SkillLineAbilityMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct SkillRaceClassInfoMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0, 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct SoundAmbienceMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 2, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct SoundAmbienceFlavorMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct SoundBusMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0.0f, 0, 0, 0, 0, 0, 0, 0 }; - return new DB6Meta(7, arraySizes, fieldDefaults); - } - } - - struct SoundBusOverrideMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0.0f, 0, 0, 0, 0, 0 }; - return new DB6Meta(0, arraySizes, fieldDefaults); - } - } - - struct SoundEmitterPillPointsMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 3, 1 }; - object[] fieldDefaults = { 0.0f, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct SoundEmittersMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0.0f, 0.0f, "", 0, 0, 0, 0, 0, 0, 0, 0, 0 }; - return new DB6Meta(9, arraySizes, fieldDefaults); - } - } - - struct SoundFilterMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1 }; - object[] fieldDefaults = { "" }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct SoundFilterElemMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 9, 1, 1 }; - object[] fieldDefaults = { 0.0f, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct SoundKitMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { "", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0, 0, 0, 0, 0, 0, 0, 0 }; - return new DB6Meta(16, arraySizes, fieldDefaults); - } - } - - struct SoundKitAdvancedMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0.0f, 0, 0, 0, 0, 0, 0, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0, 0, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct SoundKitChildMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1 }; - object[] fieldDefaults = { 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct SoundKitEntryMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0.0f, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct SoundKitFallbackMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1 }; - object[] fieldDefaults = { 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct SoundOverrideMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct SoundProviderPreferencesMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { "", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0, 0, 0, 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct SourceInfoMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, "", 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct SpamMessagesMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1 }; - object[] fieldDefaults = { "" }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct SpecializationSpellsMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, "", 0, 0, 0 }; - return new DB6Meta(5, arraySizes, fieldDefaults); - } - } - - struct SpellMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { "", "", "", "", 0, 0, 0 }; - return new DB6Meta(5, arraySizes, fieldDefaults); - } - } - - struct SpellActionBarPrefMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1 }; - object[] fieldDefaults = { 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct SpellActivationOverlayMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 4, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0, 0.0f, 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct SpellAuraOptionsMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0, 0, 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct SpellAuraRestrictionsMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct SpellAuraVisXChrSpecMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1 }; - object[] fieldDefaults = { 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct SpellAuraVisibilityMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0, 0 }; - return new DB6Meta(3, arraySizes, fieldDefaults); - } - } - - struct SpellCastTimesMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct SpellCastingRequirementsMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0, 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct SpellCategoriesMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0, 0, 0, 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct SpellCategoryMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { "", 0, 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct SpellChainEffectsMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 3, 3, 3, 1, 1, 1, 3, 1, 1, 1, 11, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0.0f, 0.0f, 0.0f, 0, 0, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0, 0.0f, 0.0f, "", "", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct SpellClassOptionsMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 4, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct SpellCooldownsMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct SpellDescriptionVariablesMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1 }; - object[] fieldDefaults = { "" }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct SpellDispelTypeMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1 }; - object[] fieldDefaults = { "", "", 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct SpellDurationMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct SpellEffectMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 4, 1, 1, 1, 1, 1, 1, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.0f, 0, 0.0f, 1.0f, 0, 0, 0, 0, 0.0f, 0.0f, 0, 0.0f, 0, 0.0f, 1.0f }; - return new DB6Meta(1, arraySizes, fieldDefaults); - } - } - - struct SpellEffectEmissionMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1 }; - object[] fieldDefaults = { 0.0f, 0.0f, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct SpellEffectGroupSizeMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1 }; - object[] fieldDefaults = { 0, 0.0f }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct SpellEffectScalingMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1 }; - object[] fieldDefaults = { 0.0f, 0.0f, 0.0f, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct SpellEquippedItemsMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct SpellFlyoutMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, "", "", 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct SpellFlyoutItemMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct SpellFocusObjectMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1 }; - object[] fieldDefaults = { "" }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct SpellInterruptsMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 2, 2, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct SpellItemEnchantmentMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 3, 1, 3, 1, 1, 3, 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, "", 0.0f, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct SpellItemEnchantmentConditionMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 5, 5, 5, 5, 5, 5 }; - object[] fieldDefaults = { 0, 0, 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct SpellKeyboundOverrideMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1 }; - object[] fieldDefaults = { 0, "", 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct SpellLabelMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1 }; - object[] fieldDefaults = { 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct SpellLearnSpellMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct SpellLevelsMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct SpellMechanicMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1 }; - object[] fieldDefaults = { "" }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct SpellMiscMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 14, 1, 1, 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0.0f, 0.0f, 0, 0, 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct SpellMiscDifficultyMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0 }; - return new DB6Meta(2, arraySizes, fieldDefaults); - } - } - - struct SpellMissileMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct SpellMissileMotionMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1 }; - object[] fieldDefaults = { "", "", 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct SpellPowerMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0.0f, 0.0f, 0, 0.0f, 0, 0, 0, 0, 0, 0, 0, 0 }; - return new DB6Meta(8, arraySizes, fieldDefaults); - } - } - - struct SpellPowerDifficultyMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0 }; - return new DB6Meta(2, arraySizes, fieldDefaults); - } - } - - struct SpellProceduralEffectMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 4, 1, 1 }; - object[] fieldDefaults = { 0.0f, 0, 0 }; - return new DB6Meta(2, arraySizes, fieldDefaults); - } - } - - struct SpellProcsPerMinuteMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1 }; - object[] fieldDefaults = { 0.0f, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct SpellProcsPerMinuteModMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1 }; - object[] fieldDefaults = { 0.0f, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct SpellRadiusMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1 }; - object[] fieldDefaults = { 0.0f, 0.0f, 0.0f, 0.0f }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct SpellRangeMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 2, 2, 1, 1, 1 }; - object[] fieldDefaults = { 0.0f, 0.0f, "", "", 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct SpellReagentsMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 8, 8 }; - object[] fieldDefaults = { 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct SpellReagentsCurrencyMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct SpellScalingMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct SpellShapeshiftMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 2, 2, 1 }; - object[] fieldDefaults = { 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct SpellShapeshiftFormMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1, 1, 1, 1, 4, 8 }; - object[] fieldDefaults = { "", 0.0f, 0, 0, 0, 0, 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct SpellSpecialUnitEffectMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1 }; - object[] fieldDefaults = { 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct SpellTargetRestrictionsMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0.0f, 0.0f, 0, 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct SpellTotemsMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 2, 2 }; - object[] fieldDefaults = { 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct SpellVisualMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.0f, 0.0f, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; - return new DB6Meta(26, arraySizes, fieldDefaults); - } - } - - struct SpellVisualAnimMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct SpellVisualColorEffectMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0.0f, 0, 0.0f, 0, 0, 0, 0, 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct SpellVisualEffectNameMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { "", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0, 0, 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct SpellVisualKitMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0.0f, 0, 0, 0, 0 }; - return new DB6Meta(4, arraySizes, fieldDefaults); - } - } - - struct SpellVisualKitAreaModelMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0.0f, 0.0f, 0.0f, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct SpellVisualKitEffectMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct SpellVisualKitModelAttachMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0.0f, 0.0f, 0, 0, 0, 0, 0, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 65535, 65535, 65535, 0, 0, 0.0f }; - return new DB6Meta(6, arraySizes, fieldDefaults); - } - } - - struct SpellVisualMissileMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0, 0.0f, 0.0f, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; - return new DB6Meta(13, arraySizes, fieldDefaults); - } - } - - struct SpellXSpellVisualMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0, 1.0f, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; - return new DB6Meta(2, arraySizes, fieldDefaults); - } - } - - struct StartupFilesMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1 }; - object[] fieldDefaults = { 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct Startup_StringsMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1 }; - object[] fieldDefaults = { "", "" }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct StationeryMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1 }; - object[] fieldDefaults = { "", 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct StringLookupsMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1 }; - object[] fieldDefaults = { "" }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct SummonPropertiesMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct TactKeyMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 16 }; - object[] fieldDefaults = { 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct TactKeyLookupMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 8 }; - object[] fieldDefaults = { 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct TalentMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1, 1, 1, 2, 1 }; - object[] fieldDefaults = { 0, 0, "", 0, 0, 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct TaxiNodesMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 3, 1, 2, 2, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0.0f, "", 0, 0.0f, 0, 0, 0, 0, 0 }; - return new DB6Meta(8, arraySizes, fieldDefaults); - } - } - - struct TaxiPathMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0, 0 }; - return new DB6Meta(2, arraySizes, fieldDefaults); - } - } - - struct TaxiPathNodeMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 3, 1, 1, 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0.0f, 0, 0, 0, 0, 0, 0, 0, 0 }; - return new DB6Meta(8, arraySizes, fieldDefaults); - } - } - - struct TerrainMaterialMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1 }; - object[] fieldDefaults = { "", "", 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct TerrainTypeMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { "", 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct TerrainTypeSoundsMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1 }; - object[] fieldDefaults = { "" }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct TextureBlendSetMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 3, 3, 3, 3, 3, 4, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct TextureFileDataMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0 }; - return new DB6Meta(2, arraySizes, fieldDefaults); - } - } - - struct TotemCategoryMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1 }; - object[] fieldDefaults = { "", 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct ToyMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, "", 0, 0, 0 }; - return new DB6Meta(4, arraySizes, fieldDefaults); - } - } - - struct TradeSkillCategoryMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { "", 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct TradeSkillItemMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1 }; - object[] fieldDefaults = { 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct TransformMatrixMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 3, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0.0f, 0.0f, 0.0f, 0.0f, 0.0f }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct TransmogHolidayMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1 }; - object[] fieldDefaults = { 0, 0 }; - return new DB6Meta(0, arraySizes, fieldDefaults); - } - } - - struct TransmogSetMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { "", 0, 0, 0, 0, 0, 0, 0, 0, 0 }; - return new DB6Meta(4, arraySizes, fieldDefaults); - } - } - - struct TransmogSetGroupMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1 }; - object[] fieldDefaults = { "", 0 }; - return new DB6Meta(1, arraySizes, fieldDefaults); - } - } - - struct TransmogSetItemMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0, 0 }; - return new DB6Meta(0, arraySizes, fieldDefaults); - } - } - - struct TransportAnimationMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 3, 1 }; - object[] fieldDefaults = { 0, 0, 0.0f, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct TransportPhysicsMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct TransportRotationMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 4 }; - object[] fieldDefaults = { 0, 0, 0.0f }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct TrophyMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1 }; - object[] fieldDefaults = { "", 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct UiCamFbackTransmogChrRaceMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct UiCamFbackTransmogWeaponMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct UiCameraMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 3, 3, 3, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { "", 0.0f, 0.0f, 0.0f, 0, 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct UiCameraTypeMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1 }; - object[] fieldDefaults = { "", 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct UiMapPOIMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 3, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0.0f, 0, 0, 0, 0, 0 }; - return new DB6Meta(6, arraySizes, fieldDefaults); - } - } - - struct UiModelSceneMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1 }; - object[] fieldDefaults = { 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct UiModelSceneActorMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 3, 1, 1, 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { "", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0, 0, 0, 0 }; - return new DB6Meta(7, arraySizes, fieldDefaults); - } - } - - struct UiModelSceneActorDisplayMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0.0f, 0.0f, 0.0f, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct UiModelSceneCameraMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { "", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0, 0, 0, 0 }; - return new DB6Meta(14, arraySizes, fieldDefaults); - } - } - - struct UiTextureAtlasMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct UiTextureAtlasMemberMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { "", 0, 0, 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct UiTextureKitMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1 }; - object[] fieldDefaults = { "" }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct UnitBloodMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 5, 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { "", 0, 0, 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct UnitBloodLevelsMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 3 }; - object[] fieldDefaults = { 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct UnitConditionMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 8, 1, 8, 8 }; - object[] fieldDefaults = { 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct UnitPowerBarMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 6, 6, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0.0f, 0.0f, 0, 0, "", "", "", "", 0.0f, 0.0f, 0, 0, 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct UnitTestMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { "", "", 0, 0, 0 }; - return new DB6Meta(2, arraySizes, fieldDefaults); - } - } - - struct VehicleMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 2, 1, 1, 8, 1, 3, 1, 1 }; - object[] fieldDefaults = { 0, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, "", "", "", 0.0f, 0.0f, 0, 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct VehicleSeatMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct VehicleUIIndSeatMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1 }; - object[] fieldDefaults = { 0.0f, 0.0f, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct VehicleUIIndicatorMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1 }; - object[] fieldDefaults = { "" }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct VideoHardwareMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { "", "", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; - return new DB6Meta(14, arraySizes, fieldDefaults); - } - } - - struct VignetteMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { "", 0.0f, 0.0f, 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct VocalUISoundsMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 2 }; - object[] fieldDefaults = { 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct WMOAreaTableMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, "", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; - return new DB6Meta(13, arraySizes, fieldDefaults); - } - } - - struct WbAccessControlListMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { "", 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct WbCertWhitelistMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1 }; - object[] fieldDefaults = { "", 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct WeaponImpactSoundsMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 11, 11, 11, 11 }; - object[] fieldDefaults = { 0, 0, 0, 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct WeaponSwingSounds2Meta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct WeaponTrailMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 3, 3, 3, 3, 3 }; - object[] fieldDefaults = { 0, 0.0f, 0.0f, 0.0f, 0, 0.0f, 0.0f, 0.0f, 0.0f }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct WeaponTrailModelDefMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct WeaponTrailParamMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0, 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct WeatherMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 2, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0.0f, 0.0f, 0.0f, "", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0, 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct WindSettingsMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 3, 1, 1, 3, 1, 3, 1, 1, 1 }; - object[] fieldDefaults = { 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct WmoMinimapTextureMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct WorldBossLockoutMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1 }; - object[] fieldDefaults = { "", 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct WorldChunkSoundsMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct WorldEffectMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct WorldElapsedTimerMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1 }; - object[] fieldDefaults = { "", 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct WorldMapAreaMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { "", 0.0f, 0.0f, 0.0f, 0.0f, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; - return new DB6Meta(15, arraySizes, fieldDefaults); - } - } - - struct WorldMapContinentMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 2, 1, 2, 2, 1, 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0.0f, 0.0f, 0.0f, 0.0f, 0, 0, 0, 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct WorldMapOverlayMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, "", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; - return new DB6Meta(0, arraySizes, fieldDefaults); - } - } - - struct WorldMapTransformsMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 6, 2, 1, 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0.0f, 0.0f, 0.0f, 0, 0, 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct WorldSafeLocsMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 3, 1, 1, 1 }; - object[] fieldDefaults = { 0.0f, 0.0f, "", 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct WorldStateExpressionMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1 }; - object[] fieldDefaults = { "" }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct WorldStateUIMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1 }; - object[] fieldDefaults = { "", "", "", "", "", "", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; - return new DB6Meta(15, arraySizes, fieldDefaults); - } - } - - struct WorldStateZoneSoundsMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0, 0, 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct World_PVP_AreaMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1, 1, 1, 1 }; - object[] fieldDefaults = { 0, 0, 0, 0, 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct ZoneIntroMusicTableMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1, 1 }; - object[] fieldDefaults = { "", 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct ZoneLightMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 1, 1 }; - object[] fieldDefaults = { "", 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct ZoneLightPointMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 2, 1, 1 }; - object[] fieldDefaults = { 0.0f, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } - - struct ZoneMusicMeta - { - public static DB6Meta Instance() - { - byte[] arraySizes = { 1, 2, 2, 2 }; - object[] fieldDefaults = { "", 0, 0, 0 }; - return new DB6Meta(-1, arraySizes, fieldDefaults); - } - } -} diff --git a/Game/OutdoorPVP/Zones/NagrandPvP.cs b/Game/OutdoorPVP/Zones/NagrandPvP.cs deleted file mode 100644 index 1ab334c24..000000000 --- a/Game/OutdoorPVP/Zones/NagrandPvP.cs +++ /dev/null @@ -1,755 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using Game.Network; -using Game.Entities; -using Framework.Constants; -using Game.Scripting; -using Game.Network.Packets; - -namespace Game.PvP.Nagrand -{ - struct Misc - { - // kill credit for pks - public const uint CreditMarker = 24867; - - public const uint MaxGuards = 15; - - public const uint BuffZone = 3518; - - public const uint HalaaGraveyard = 993; - - public const uint HalaaGraveyardZone = 3518; // need to add zone id, not area id - - public const uint RespawnTime = 3600000; // one hour to capture after defeating all guards - - public const uint GuardCheckTime = 500; // every half second - - public const uint FlightNodesNum = 4; - - public static uint[] FlightPathStartNodes = { 103, 105, 107, 109 }; - public static uint[] FlightPathEndNodes = { 104, 106, 108, 110 }; - - // spawned when the alliance is attacking, horde is in control - public static go_type[] HordeControlGOs = - { - new go_type(182267, 530, -1815.8f, 8036.51f, -26.2354f, -2.89725f, 0.0f, 0.0f, 0.992546f, -0.121869f), //ALLY_ROOST_SOUTH - new go_type(182280, 530, -1507.95f, 8132.1f, -19.5585f, -1.3439f, 0.0f, 0.0f, 0.622515f, -0.782608f), //ALLY_ROOST_WEST - new go_type(182281, 530, -1384.52f, 7779.33f, -11.1663f, -0.575959f, 0.0f, 0.0f, 0.284015f, -0.95882f), //ALLY_ROOST_NORTH - new go_type(182282, 530, -1650.11f, 7732.56f, -15.4505f, -2.80998f, 0.0f, 0.0f, 0.986286f, -0.165048f), //ALLY_ROOST_EAST - - new go_type(182222, 530, -1825.4022f, 8039.2602f, -26.08f, -2.89725f, 0.0f, 0.0f, 0.992546f, -0.121869f), //HORDE_BOMB_WAGON_SOUTH - new go_type(182272, 530, -1515.37f, 8136.91f, -20.42f, -1.3439f, 0.0f, 0.0f, 0.622515f, -0.782608f), //HORDE_BOMB_WAGON_WEST - new go_type(182273, 530, -1377.95f, 7773.44f, -10.31f, -0.575959f, 0.0f, 0.0f, 0.284015f, -0.95882f), //HORDE_BOMB_WAGON_NORTH - new go_type(182274, 530, -1659.87f, 7733.15f, -15.75f, -2.80998f, 0.0f, 0.0f, 0.986286f, -0.165048f), //HORDE_BOMB_WAGON_EAST - - new go_type(182266, 530, -1815.8f, 8036.51f, -26.2354f, -2.89725f, 0.0f, 0.0f, 0.992546f, -0.121869f), //DESTROYED_ALLY_ROOST_SOUTH - new go_type(182275, 530, -1507.95f, 8132.1f, -19.5585f, -1.3439f, 0.0f, 0.0f, 0.622515f, -0.782608f), //DESTROYED_ALLY_ROOST_WEST - new go_type(182276, 530, -1384.52f, 7779.33f, -11.1663f, -0.575959f, 0.0f, 0.0f, 0.284015f, -0.95882f), //DESTROYED_ALLY_ROOST_NORTH - new go_type(182277, 530, -1650.11f, 7732.56f, -15.4505f, -2.80998f, 0.0f, 0.0f, 0.986286f, -0.165048f) //DESTROYED_ALLY_ROOST_EAST - }; - - // spawned when the horde is attacking, alliance is in control - public static go_type[] AllianceControlGOs = - { - new go_type(182301, 530, -1815.8f, 8036.51f, -26.2354f, -2.89725f, 0.0f, 0.0f, 0.992546f, -0.121869f), //HORDE_ROOST_SOUTH - new go_type(182302, 530, -1507.95f, 8132.1f, -19.5585f, -1.3439f, 0.0f, 0.0f, 0.622515f, -0.782608f), //HORDE_ROOST_WEST - new go_type(182303, 530, -1384.52f, 7779.33f, -11.1663f, -0.575959f, 0.0f, 0.0f, 0.284015f, -0.95882f), //HORDE_ROOST_NORTH - new go_type(182304, 530, -1650.11f, 7732.56f, -15.4505f, -2.80998f, 0.0f, 0.0f, 0.986286f, -0.165048f), //HORDE_ROOST_EAST - - new go_type(182305, 530, -1825.4022f, 8039.2602f, -26.08f, -2.89725f, 0.0f, 0.0f, 0.992546f, -0.121869f), //ALLY_BOMB_WAGON_SOUTH - new go_type(182306, 530, -1515.37f, 8136.91f, -20.42f, -1.3439f, 0.0f, 0.0f, 0.622515f, -0.782608f), //ALLY_BOMB_WAGON_WEST - new go_type(182307, 530, -1377.95f, 7773.44f, -10.31f, -0.575959f, 0.0f, 0.0f, 0.284015f, -0.95882f), //ALLY_BOMB_WAGON_NORTH - new go_type(182308, 530, -1659.87f, 7733.15f, -15.75f, -2.80998f, 0.0f, 0.0f, 0.986286f, -0.165048f), //ALLY_BOMB_WAGON_EAST - - new go_type(182297, 530, -1815.8f, 8036.51f, -26.2354f, -2.89725f, 0.0f, 0.0f, 0.992546f, -0.121869f), //DESTROYED_HORDE_ROOST_SOUTH - new go_type(182298, 530, -1507.95f, 8132.1f, -19.5585f, -1.3439f, 0.0f, 0.0f, 0.622515f, -0.782608f), //DESTROYED_HORDE_ROOST_WEST - new go_type(182299, 530, -1384.52f, 7779.33f, -11.1663f, -0.575959f, 0.0f, 0.0f, 0.284015f, -0.95882f), //DESTROYED_HORDE_ROOST_NORTH - new go_type(182300, 530, -1650.11f, 7732.56f, -15.4505f, -2.80998f, 0.0f, 0.0f, 0.986286f, -0.165048f) //DESTROYED_HORDE_ROOST_EAST - }; - - public static creature_type[] HordeControlNPCs = - { - new creature_type(18816, 530, -1523.92f, 7951.76f, -17.6942f, 3.51172f), - new creature_type(18821, 530, -1527.75f, 7952.46f, -17.6948f, 3.99317f), - new creature_type(21474, 530, -1520.14f, 7927.11f, -20.2527f, 3.39389f), - new creature_type(21484, 530, -1524.84f, 7930.34f, -20.182f, 3.6405f), - new creature_type(21483, 530, -1570.01f, 7993.8f, -22.4505f, 5.02655f), - new creature_type(18192, 530, -1654.06f, 8000.46f, -26.59f, 3.37f), - new creature_type(18192, 530, -1487.18f, 7899.1f, -19.53f, 0.954f), - new creature_type(18192, 530, -1480.88f, 7908.79f, -19.19f, 4.485f), - new creature_type(18192, 530, -1540.56f, 7995.44f, -20.45f, 0.947f), - new creature_type(18192, 530, -1546.95f, 8000.85f, -20.72f, 6.035f), - new creature_type(18192, 530, -1595.31f, 7860.53f, -21.51f, 3.747f), - new creature_type(18192, 530, -1642.31f, 7995.59f, -25.8f, 3.317f), - new creature_type(18192, 530, -1545.46f, 7995.35f, -20.63f, 1.094f), - new creature_type(18192, 530, -1487.58f, 7907.99f, -19.27f, 5.567f), - new creature_type(18192, 530, -1651.54f, 7988.56f, -26.5289f, 2.98451f), - new creature_type(18192, 530, -1602.46f, 7866.43f, -22.1177f, 4.74729f), - new creature_type(18192, 530, -1591.22f, 7875.29f, -22.3536f, 4.34587f), - new creature_type(18192, 530, -1550.6f, 7944.45f, -21.63f, 3.559f), - new creature_type(18192, 530, -1545.57f, 7935.83f, -21.13f, 3.448f), - new creature_type(18192, 530, -1550.86f, 7937.56f, -21.7f, 3.801f) - }; - - public static creature_type[] AllianceControlNPCs = - { - new creature_type(18817, 530, -1591.18f, 8020.39f, -22.2042f, 4.59022f), - new creature_type(18822, 530, -1588.0f, 8019.0f, -22.2042f, 4.06662f), - new creature_type(21485, 530, -1521.93f, 7927.37f, -20.2299f, 3.24631f), - new creature_type(21487, 530, -1540.33f, 7971.95f, -20.7186f, 3.07178f), - new creature_type(21488, 530, -1570.01f, 7993.8f, -22.4505f, 5.02655f), - new creature_type(18256, 530, -1654.06f, 8000.46f, -26.59f, 3.37f), - new creature_type(18256, 530, -1487.18f, 7899.1f, -19.53f, 0.954f), - new creature_type(18256, 530, -1480.88f, 7908.79f, -19.19f, 4.485f), - new creature_type(18256, 530, -1540.56f, 7995.44f, -20.45f, 0.947f), - new creature_type(18256, 530, -1546.95f, 8000.85f, -20.72f, 6.035f), - new creature_type(18256, 530, -1595.31f, 7860.53f, -21.51f, 3.747f), - new creature_type(18256, 530, -1642.31f, 7995.59f, -25.8f, 3.317f), - new creature_type(18256, 530, -1545.46f, 7995.35f, -20.63f, 1.094f), - new creature_type(18256, 530, -1487.58f, 7907.99f, -19.27f, 5.567f), - new creature_type(18256, 530, -1651.54f, 7988.56f, -26.5289f, 2.98451f), - new creature_type(18256, 530, -1602.46f, 7866.43f, -22.1177f, 4.74729f), - new creature_type(18256, 530, -1591.22f, 7875.29f, -22.3536f, 4.34587f), - new creature_type(18256, 530, -1603.75f, 8000.36f, -24.18f, 4.516f), - new creature_type(18256, 530, -1585.73f, 7994.68f, -23.29f, 4.439f), - new creature_type(18256, 530, -1595.5f, 7991.27f, -23.53f, 4.738f) - }; - } - - class OutdoorPvPNA : OutdoorPvP - { - public OutdoorPvPNA() - { - m_TypeId = OutdoorPvPTypes.Nagrand; - m_obj = null; - } - - public override void HandleKillImpl(Player player, Unit killed) - { - if (killed.GetTypeId() == TypeId.Player && player.GetTeam() != killed.ToPlayer().GetTeam()) - { - player.KilledMonsterCredit(NA_CREDIT_MARKER); // 0 guid, btw it isn't even used in killedmonster function :S - if (player.GetTeam() == Team.Alliance) - player.CastSpell(player, NA_KILL_TOKEN_ALLIANCE, true); - else - player.CastSpell(player, NA_KILL_TOKEN_HORDE, true); - } - } - - public override bool SetupOutdoorPvP() - { - // m_TypeId = OUTDOOR_PVP_NA; _MUST_ be set in ctor, because of spawns cleanup - // add the zones affected by the pvp buff - SetMapFromZone(NA_BUFF_ZONE); - RegisterZone(NA_BUFF_ZONE); - - // halaa - m_obj = new OPvPCapturePointNA(this); - - AddCapturePoint(m_obj); - return true; - } - - public override void HandlePlayerEnterZone(Player player, uint zone) - { - // add buffs - if (player.GetTeam() == m_obj.GetControllingFaction()) - player.CastSpell(player, NA_CAPTURE_BUFF, true); - base.HandlePlayerEnterZone(player, zone); - } - - public override void HandlePlayerLeaveZone(Player player, uint zone) - { - // remove buffs - player.RemoveAurasDueToSpell(NA_CAPTURE_BUFF); - base.HandlePlayerLeaveZone(player, zone); - } - - public override void FillInitialWorldStates(InitWorldStates packet) - { - m_obj.FillInitialWorldStates(packet); - } - - public override void SendRemoveWorldStates(Player player) - { - player.SendUpdateWorldState(NA_UI_HORDE_GUARDS_SHOW, 0); - player.SendUpdateWorldState(NA_UI_ALLIANCE_GUARDS_SHOW, 0); - player.SendUpdateWorldState(NA_UI_GUARDS_MAX, 0); - player.SendUpdateWorldState(NA_UI_GUARDS_LEFT, 0); - player.SendUpdateWorldState(NA_MAP_WYVERN_NORTH_NEU_H, 0); - player.SendUpdateWorldState(NA_MAP_WYVERN_NORTH_NEU_A, 0); - player.SendUpdateWorldState(NA_MAP_WYVERN_NORTH_H, 0); - player.SendUpdateWorldState(NA_MAP_WYVERN_NORTH_A, 0); - player.SendUpdateWorldState(NA_MAP_WYVERN_SOUTH_NEU_H, 0); - player.SendUpdateWorldState(NA_MAP_WYVERN_SOUTH_NEU_A, 0); - player.SendUpdateWorldState(NA_MAP_WYVERN_SOUTH_H, 0); - player.SendUpdateWorldState(NA_MAP_WYVERN_SOUTH_A, 0); - player.SendUpdateWorldState(NA_MAP_WYVERN_WEST_NEU_H, 0); - player.SendUpdateWorldState(NA_MAP_WYVERN_WEST_NEU_A, 0); - player.SendUpdateWorldState(NA_MAP_WYVERN_WEST_H, 0); - player.SendUpdateWorldState(NA_MAP_WYVERN_WEST_A, 0); - player.SendUpdateWorldState(NA_MAP_WYVERN_EAST_NEU_H, 0); - player.SendUpdateWorldState(NA_MAP_WYVERN_EAST_NEU_A, 0); - player.SendUpdateWorldState(NA_MAP_WYVERN_EAST_H, 0); - player.SendUpdateWorldState(NA_MAP_WYVERN_EAST_A, 0); - player.SendUpdateWorldState(NA_MAP_HALAA_NEUTRAL, 0); - player.SendUpdateWorldState(NA_MAP_HALAA_NEU_A, 0); - player.SendUpdateWorldState(NA_MAP_HALAA_NEU_H, 0); - player.SendUpdateWorldState(NA_MAP_HALAA_HORDE, 0); - player.SendUpdateWorldState(NA_MAP_HALAA_ALLIANCE, 0); - } - - public override bool Update(uint diff) - { - return m_obj.Update(diff); - } - - OPvPCapturePointNA m_obj; - } - - class OPvPCapturePointNA : OPvPCapturePoint - { - public OPvPCapturePointNA(OutdoorPvP pvp) : base(pvp) - { - m_capturable = true; - m_HalaaState = HALAA_N; - m_RespawnTimer = Misc.RespawnTime; - m_GuardCheckTimer = Misc.GuardCheckTime; - SetCapturePointData(182210, 530, -1572.57f, 7945.3f, -22.475f, 2.05949f, 0.0f, 0.0f, 0.857167f, 0.515038f); - } - - uint GetAliveGuardsCount() - { - uint cnt = 0; - foreach (var pair in m_Creatures) - { - switch (pair.Key) - { - case NA_NPC_GUARD_01: - case NA_NPC_GUARD_02: - case NA_NPC_GUARD_03: - case NA_NPC_GUARD_04: - case NA_NPC_GUARD_05: - case NA_NPC_GUARD_06: - case NA_NPC_GUARD_07: - case NA_NPC_GUARD_08: - case NA_NPC_GUARD_09: - case NA_NPC_GUARD_10: - case NA_NPC_GUARD_11: - case NA_NPC_GUARD_12: - case NA_NPC_GUARD_13: - case NA_NPC_GUARD_14: - case NA_NPC_GUARD_15: - { - var bounds = m_PvP.GetMap().GetCreatureBySpawnIdStore().LookupByKey(pair.Value); - foreach (var creature in bounds) - if (creature.IsAlive()) - ++cnt; - break; - } - default: - break; - } - } - return cnt; - } - - public Team GetControllingFaction() - { - return m_ControllingFaction; - } - - void SpawnNPCsForTeam(Team team) - { - creature_type[] creatures = null; - if (team == Team.Alliance) - creatures = Misc.AllianceControlNPCs; - else if (team == Team.Horde) - creatures = Misc.HordeControlNPCs; - else - return; - for (int i = 0; i < NA_CONTROL_NPC_NUM; ++i) - AddCreature(i, creatures[i].entry, creatures[i].map, creatures[i].x, creatures[i].y, creatures[i].z, creatures[i].o, OutdoorPvP.GetTeamIdByTeam(team), 1000000); - } - - void DeSpawnNPCs() - { - for (uint i = 0; i < NA_CONTROL_NPC_NUM; ++i) - DelCreature(i); - } - - void SpawnGOsForTeam(Team team) - { - go_type[] gos = null; - if (team == Team.Alliance) - gos = Misc.AllianceControlGOs; - else if (team == Team.Horde) - gos = Misc.HordeControlGOs; - else - return; - for (uint i = 0; i < NA_CONTROL_GO_NUM; ++i) - { - if (i == NA_ROOST_S || - i == NA_ROOST_W || - i == NA_ROOST_N || - i == NA_ROOST_E || - i == NA_BOMB_WAGON_S || - i == NA_BOMB_WAGON_W || - i == NA_BOMB_WAGON_N || - i == NA_BOMB_WAGON_E) - continue; // roosts and bomb wagons are spawned when someone uses the matching destroyed roost - AddObject(i, gos[i].entry, gos[i].map, gos[i].x, gos[i].y, gos[i].z, gos[i].o, gos[i].rot0, gos[i].rot1, gos[i].rot2, gos[i].rot3); - } - } - - void DeSpawnGOs() - { - for (uint i = 0; i < NA_CONTROL_GO_NUM; ++i) - { - DelObject(i); - } - } - - void FactionTakeOver(Team team) - { - if (m_ControllingFaction != 0) - Global.ObjectMgr.RemoveGraveYardLink(NA_HALAA_GRAVEYARD, NA_HALAA_GRAVEYARD_ZONE, m_ControllingFaction, false); - - m_ControllingFaction = team; - if (m_ControllingFaction != 0) - Global.ObjectMgr.AddGraveYardLink(NA_HALAA_GRAVEYARD, NA_HALAA_GRAVEYARD_ZONE, m_ControllingFaction, false); - DeSpawnGOs(); - DeSpawnNPCs(); - SpawnGOsForTeam(team); - SpawnNPCsForTeam(team); - m_GuardsAlive = Misc.MaxGuards; - m_capturable = false; - this.UpdateHalaaWorldState(); - if (team == Team.Alliance) - { - m_WyvernStateSouth = WYVERN_NEU_HORDE; - m_WyvernStateNorth = WYVERN_NEU_HORDE; - m_WyvernStateEast = WYVERN_NEU_HORDE; - m_WyvernStateWest = WYVERN_NEU_HORDE; - m_PvP.TeamApplyBuff(TeamId.Alliance, NA_CAPTURE_BUFF); - m_PvP.SendUpdateWorldState(NA_UI_HORDE_GUARDS_SHOW, 0); - m_PvP.SendUpdateWorldState(NA_UI_ALLIANCE_GUARDS_SHOW, 1); - m_PvP.SendUpdateWorldState(NA_UI_GUARDS_LEFT, m_GuardsAlive); - m_PvP.SendDefenseMessage(NA_HALAA_GRAVEYARD_ZONE, TEXT_HALAA_TAKEN_ALLIANCE); - } - else - { - m_WyvernStateSouth = WYVERN_NEU_ALLIANCE; - m_WyvernStateNorth = WYVERN_NEU_ALLIANCE; - m_WyvernStateEast = WYVERN_NEU_ALLIANCE; - m_WyvernStateWest = WYVERN_NEU_ALLIANCE; - m_PvP.TeamApplyBuff(TeamId.Horde, NA_CAPTURE_BUFF); - m_PvP.SendUpdateWorldState(NA_UI_HORDE_GUARDS_SHOW, 1); - m_PvP.SendUpdateWorldState(NA_UI_ALLIANCE_GUARDS_SHOW, 0); - m_PvP.SendUpdateWorldState(NA_UI_GUARDS_LEFT, m_GuardsAlive); - m_PvP.SendDefenseMessage(NA_HALAA_GRAVEYARD_ZONE, TEXT_HALAA_TAKEN_HORDE); - } - UpdateWyvernRoostWorldState(NA_ROOST_S); - UpdateWyvernRoostWorldState(NA_ROOST_N); - UpdateWyvernRoostWorldState(NA_ROOST_W); - UpdateWyvernRoostWorldState(NA_ROOST_E); - } - - public override void FillInitialWorldStates(InitWorldStates packet) - { - if (m_ControllingFaction == Team.Alliance) - { - packet.AddState(NA_UI_HORDE_GUARDS_SHOW, 0); - packet.AddState(NA_UI_ALLIANCE_GUARDS_SHOW, 1); - } - else if (m_ControllingFaction == Team.Horde) - { - packet.AddState(NA_UI_HORDE_GUARDS_SHOW, 1); - packet.AddState(NA_UI_ALLIANCE_GUARDS_SHOW, 1); - } - else - { - packet.AddState(NA_UI_HORDE_GUARDS_SHOW, 0); - packet.AddState(NA_UI_ALLIANCE_GUARDS_SHOW, 0); - } - - packet.AddState(NA_UI_GUARDS_MAX, Misc.MaxGuards); - packet.AddState(NA_UI_GUARDS_LEFT, m_GuardsAlive); - - packet.AddState(NA_MAP_WYVERN_NORTH_NEU_A, (m_WyvernStateNorth & WYVERN_NEU_HORDE) != 0); - packet.AddState(NA_MAP_WYVERN_NORTH_NEU_A, (m_WyvernStateNorth & WYVERN_NEU_ALLIANCE) != 0); - packet.AddState(NA_MAP_WYVERN_NORTH_H, (m_WyvernStateNorth & WYVERN_HORDE) != 0); - packet.AddState(NA_MAP_WYVERN_NORTH_A, (m_WyvernStateNorth & WYVERN_ALLIANCE) != 0); - - packet.AddState(NA_MAP_WYVERN_SOUTH_NEU_H, (m_WyvernStateSouth & WYVERN_NEU_HORDE) != 0); - packet.AddState(NA_MAP_WYVERN_SOUTH_NEU_A, (m_WyvernStateSouth & WYVERN_NEU_ALLIANCE) != 0); - packet.AddState(NA_MAP_WYVERN_SOUTH_H, (m_WyvernStateSouth & WYVERN_HORDE) != 0); - packet.AddState(NA_MAP_WYVERN_SOUTH_A, (m_WyvernStateSouth & WYVERN_ALLIANCE) != 0); - - packet.AddState(NA_MAP_WYVERN_WEST_NEU_H, (m_WyvernStateWest & WYVERN_NEU_HORDE) != 0); - packet.AddState(NA_MAP_WYVERN_WEST_NEU_A, (m_WyvernStateWest & WYVERN_NEU_ALLIANCE) != 0); - packet.AddState(NA_MAP_WYVERN_WEST_H, (m_WyvernStateWest & WYVERN_HORDE) != 0); - packet.AddState(NA_MAP_WYVERN_WEST_A, (m_WyvernStateWest & WYVERN_ALLIANCE) != 0); - - packet.AddState(NA_MAP_WYVERN_EAST_NEU_H, (m_WyvernStateEast & WYVERN_NEU_HORDE) != 0); - packet.AddState(NA_MAP_WYVERN_EAST_NEU_A, (m_WyvernStateEast & WYVERN_NEU_ALLIANCE) != 0); - packet.AddState(NA_MAP_WYVERN_EAST_H, (m_WyvernStateEast & WYVERN_HORDE) != 0); - packet.AddState(NA_MAP_WYVERN_EAST_A, (m_WyvernStateEast & WYVERN_ALLIANCE) != 0); - - packet.AddState(NA_MAP_HALAA_NEUTRAL, (m_HalaaState & HALAA_N) != 0); - packet.AddState(NA_MAP_HALAA_NEU_A, (m_HalaaState & HALAA_N_A) != 0); - packet.AddState(NA_MAP_HALAA_NEU_H, (m_HalaaState & HALAA_N_H) != 0); - packet.AddState(NA_MAP_HALAA_HORDE, (m_HalaaState & HALAA_H) != 0); - packet.AddState(NA_MAP_HALAA_ALLIANCE, (m_HalaaState & HALAA_A) != 0); - } - - public override bool HandleCustomSpell(Player player, uint spellId, GameObject go) - { - List nodes = new List(); - - bool retval = false; - switch (spellId) - { - case NA_SPELL_FLY_NORTH: - nodes[0] = Misc.FlightPathStartNodes[NA_ROOST_N]; - nodes[1] = Misc.FlightPathEndNodes[NA_ROOST_N]; - player.ActivateTaxiPathTo(nodes); - player.SetFlag(PlayerFields.Flags, PlayerFlags.InPVP); - player.UpdatePvP(true, true); - retval = true; - break; - case NA_SPELL_FLY_SOUTH: - nodes[0] = Misc.FlightPathStartNodes[NA_ROOST_S]; - nodes[1] = Misc.FlightPathEndNodes[NA_ROOST_S]; - player.ActivateTaxiPathTo(nodes); - player.SetFlag(PlayerFields.Flags, PlayerFlags.InPVP); - player.UpdatePvP(true, true); - retval = true; - break; - case NA_SPELL_FLY_WEST: - nodes[0] = Misc.FlightPathStartNodes[NA_ROOST_W]; - nodes[1] = Misc.FlightPathEndNodes[NA_ROOST_W]; - player.ActivateTaxiPathTo(nodes); - player.SetFlag(PlayerFields.Flags, PlayerFlags.InPVP); - player.UpdatePvP(true, true); - retval = true; - break; - case NA_SPELL_FLY_EAST: - nodes[0] = Misc.FlightPathStartNodes[NA_ROOST_E]; - nodes[1] = Misc.FlightPathEndNodes[NA_ROOST_E]; - player.ActivateTaxiPathTo(nodes); - player.SetFlag(PlayerFields.Flags, PlayerFlags.InPVP); - player.UpdatePvP(true, true); - retval = true; - break; - default: - break; - } - - if (retval) - { - //Adding items - uint noSpaceForCount = 0; - - // check space and find places - List dest = new List(); - - uint count = 10; - uint itemid = 24538; - // bomb id count - InventoryResult msg = player.CanStoreNewItem(ItemConst.NullBag, ItemConst.NullSlot, dest, itemid, count, out noSpaceForCount); - if (msg != InventoryResult.Ok) // convert to possible store amount - count -= noSpaceForCount; - - if (count == 0 || dest.Empty()) // can't add any - { - return true; - } - - Item item = player.StoreNewItem(dest, itemid, true); - if (count > 0 && item) - { - player.SendNewItem(item, count, true, false); - } - - return true; - } - return false; - } - - public override int HandleOpenGo(Player player, GameObject go) - { - int retval = base.HandleOpenGo(player, go); - if (retval >= 0) - { - go_type[] gos = null; - if (m_ControllingFaction == Team.Alliance) - gos = Misc.AllianceControlGOs; - else if (m_ControllingFaction == Team.Horde) - gos = Misc.HordeControlGOs; - else - return -1; - - int del = -1; - int del2 = -1; - int add = -1; - int add2 = -1; - - switch (retval) - { - case NA_DESTROYED_ROOST_S: - del = NA_DESTROYED_ROOST_S; - add = NA_ROOST_S; - add2 = NA_BOMB_WAGON_S; - if (m_ControllingFaction == Team.Horde) - m_WyvernStateSouth = WYVERN_ALLIANCE; - else - m_WyvernStateSouth = WYVERN_HORDE; - UpdateWyvernRoostWorldState(NA_ROOST_S); - break; - case NA_DESTROYED_ROOST_N: - del = NA_DESTROYED_ROOST_N; - add = NA_ROOST_N; - add2 = NA_BOMB_WAGON_N; - if (m_ControllingFaction == Team.Horde) - m_WyvernStateNorth = WYVERN_ALLIANCE; - else - m_WyvernStateNorth = WYVERN_HORDE; - UpdateWyvernRoostWorldState(NA_ROOST_N); - break; - case NA_DESTROYED_ROOST_W: - del = NA_DESTROYED_ROOST_W; - add = NA_ROOST_W; - add2 = NA_BOMB_WAGON_W; - if (m_ControllingFaction == Team.Horde) - m_WyvernStateWest = WYVERN_ALLIANCE; - else - m_WyvernStateWest = WYVERN_HORDE; - UpdateWyvernRoostWorldState(NA_ROOST_W); - break; - case NA_DESTROYED_ROOST_E: - del = NA_DESTROYED_ROOST_E; - add = NA_ROOST_E; - add2 = NA_BOMB_WAGON_E; - if (m_ControllingFaction == Team.Horde) - m_WyvernStateEast = WYVERN_ALLIANCE; - else - m_WyvernStateEast = WYVERN_HORDE; - UpdateWyvernRoostWorldState(NA_ROOST_E); - break; - case NA_BOMB_WAGON_S: - del = NA_BOMB_WAGON_S; - del2 = NA_ROOST_S; - add = NA_DESTROYED_ROOST_S; - if (m_ControllingFaction == Team.Horde) - m_WyvernStateSouth = WYVERN_NEU_ALLIANCE; - else - m_WyvernStateSouth = WYVERN_NEU_HORDE; - UpdateWyvernRoostWorldState(NA_ROOST_S); - break; - case NA_BOMB_WAGON_N: - del = NA_BOMB_WAGON_N; - del2 = NA_ROOST_N; - add = NA_DESTROYED_ROOST_N; - if (m_ControllingFaction == Team.Horde) - m_WyvernStateNorth = WYVERN_NEU_ALLIANCE; - else - m_WyvernStateNorth = WYVERN_NEU_HORDE; - UpdateWyvernRoostWorldState(NA_ROOST_N); - break; - case NA_BOMB_WAGON_W: - del = NA_BOMB_WAGON_W; - del2 = NA_ROOST_W; - add = NA_DESTROYED_ROOST_W; - if (m_ControllingFaction == Team.Horde) - m_WyvernStateWest = WYVERN_NEU_ALLIANCE; - else - m_WyvernStateWest = WYVERN_NEU_HORDE; - UpdateWyvernRoostWorldState(NA_ROOST_W); - break; - case NA_BOMB_WAGON_E: - del = NA_BOMB_WAGON_E; - del2 = NA_ROOST_E; - add = NA_DESTROYED_ROOST_E; - if (m_ControllingFaction == Team.Horde) - m_WyvernStateEast = WYVERN_NEU_ALLIANCE; - else - m_WyvernStateEast = WYVERN_NEU_HORDE; - UpdateWyvernRoostWorldState(NA_ROOST_E); - break; - default: - return -1; - break; - } - - if (del > -1) - DelObject((uint)del); - - if (del2 > -1) - DelObject((uint)del2); - - if (add > -1) - AddObject((uint)add, gos[add].entry, gos[add].map, gos[add].x, gos[add].y, gos[add].z, gos[add].o, gos[add].rot0, gos[add].rot1, gos[add].rot2, gos[add].rot3); - - if (add2 > -1) - AddObject((uint)add2, gos[add2].entry, gos[add2].map, gos[add2].x, gos[add2].y, gos[add2].z, gos[add2].o, gos[add2].rot0, gos[add2].rot1, gos[add2].rot2, gos[add2].rot3); - - return retval; - } - return -1; - } - - public override bool Update(uint diff) - { - // let the controlling faction advance in phase - bool capturable = false; - if (m_ControllingFaction == Team.Alliance && m_activePlayers[0].Count > m_activePlayers[1].Count) - capturable = true; - else if (m_ControllingFaction == Team.Horde && m_activePlayers[0].Count < m_activePlayers[1].Count) - capturable = true; - - if (m_GuardCheckTimer < diff) - { - m_GuardCheckTimer = Misc.GuardCheckTime; - uint cnt = GetAliveGuardsCount(); - if (cnt != m_GuardsAlive) - { - m_GuardsAlive = cnt; - if (m_GuardsAlive == 0) - m_capturable = true; - // update the guard count for the players in zone - m_PvP.SendUpdateWorldState(NA_UI_GUARDS_LEFT, m_GuardsAlive); - } - } - else m_GuardCheckTimer -= diff; - - if (m_capturable || capturable) - { - if (m_RespawnTimer < diff) - { - // if the guards have been killed, then the challenger has one hour to take over halaa. - // in case they fail to do it, the guards are respawned, and they have to start again. - if (m_ControllingFaction != 0) - FactionTakeOver(m_ControllingFaction); - m_RespawnTimer = NA_RESPAWN_TIME; - } - else m_RespawnTimer -= diff; - - return base.Update(diff); - } - return false; - } - - public override void ChangeState() - { - uint artkit = 21; - switch (m_State) - { - case OBJECTIVESTATE_NEUTRAL: - m_HalaaState = HALAA_N; - break; - case OBJECTIVESTATE_ALLIANCE: - m_HalaaState = HALAA_A; - FactionTakeOver(Team.Alliance); - artkit = 2; - break; - case OBJECTIVESTATE_HORDE: - m_HalaaState = HALAA_H; - FactionTakeOver(Team.Horde); - artkit = 1; - break; - case OBJECTIVESTATE_NEUTRAL_ALLIANCE_CHALLENGE: - m_HalaaState = HALAA_N_A; - break; - case OBJECTIVESTATE_NEUTRAL_HORDE_CHALLENGE: - m_HalaaState = HALAA_N_H; - break; - case OBJECTIVESTATE_ALLIANCE_HORDE_CHALLENGE: - m_HalaaState = HALAA_N_A; - artkit = 2; - break; - case OBJECTIVESTATE_HORDE_ALLIANCE_CHALLENGE: - m_HalaaState = HALAA_N_H; - artkit = 1; - break; - } - - var bounds = Global.MapMgr.FindMap(530, 0).GetGameObjectBySpawnIdStore().LookupByKey(m_capturePointSpawnId); - foreach (var itr in bounds) - itr.SetGoArtKit((byte)artkit); - - UpdateHalaaWorldState(); - } - - void UpdateHalaaWorldState() - { - m_PvP.SendUpdateWorldState(NA_MAP_HALAA_NEUTRAL, (m_HalaaState & HALAA_N) != 0); - m_PvP.SendUpdateWorldState(NA_MAP_HALAA_NEU_A, (m_HalaaState & HALAA_N_A) != 0); - m_PvP.SendUpdateWorldState(NA_MAP_HALAA_NEU_H, (m_HalaaState & HALAA_N_H) != 0); - m_PvP.SendUpdateWorldState(NA_MAP_HALAA_HORDE, (m_HalaaState & HALAA_H) != 0); - m_PvP.SendUpdateWorldState(NA_MAP_HALAA_ALLIANCE, (m_HalaaState & HALAA_A) != 0); - } - - void UpdateWyvernRoostWorldState(uint roost) - { - switch (roost) - { - case NA_ROOST_S: - m_PvP.SendUpdateWorldState(NA_MAP_WYVERN_SOUTH_NEU_H, (m_WyvernStateSouth & WYVERN_NEU_HORDE) != 0); - m_PvP.SendUpdateWorldState(NA_MAP_WYVERN_SOUTH_NEU_A, (m_WyvernStateSouth & WYVERN_NEU_ALLIANCE) != 0); - m_PvP.SendUpdateWorldState(NA_MAP_WYVERN_SOUTH_H, (m_WyvernStateSouth & WYVERN_HORDE) != 0); - m_PvP.SendUpdateWorldState(NA_MAP_WYVERN_SOUTH_A, (m_WyvernStateSouth & WYVERN_ALLIANCE) != 0); - break; - case NA_ROOST_N: - m_PvP.SendUpdateWorldState(NA_MAP_WYVERN_NORTH_NEU_H, (m_WyvernStateNorth & WYVERN_NEU_HORDE) != 0); - m_PvP.SendUpdateWorldState(NA_MAP_WYVERN_NORTH_NEU_A, (m_WyvernStateNorth & WYVERN_NEU_ALLIANCE) != 0); - m_PvP.SendUpdateWorldState(NA_MAP_WYVERN_NORTH_H, (m_WyvernStateNorth & WYVERN_HORDE) != 0); - m_PvP.SendUpdateWorldState(NA_MAP_WYVERN_NORTH_A, (m_WyvernStateNorth & WYVERN_ALLIANCE) != 0); - break; - case NA_ROOST_W: - m_PvP.SendUpdateWorldState(NA_MAP_WYVERN_WEST_NEU_H, (m_WyvernStateWest & WYVERN_NEU_HORDE) != 0); - m_PvP.SendUpdateWorldState(NA_MAP_WYVERN_WEST_NEU_A, (m_WyvernStateWest & WYVERN_NEU_ALLIANCE) != 0); - m_PvP.SendUpdateWorldState(NA_MAP_WYVERN_WEST_H, (m_WyvernStateWest & WYVERN_HORDE) != 0); - m_PvP.SendUpdateWorldState(NA_MAP_WYVERN_WEST_A, (m_WyvernStateWest & WYVERN_ALLIANCE) != 0); - break; - case NA_ROOST_E: - m_PvP.SendUpdateWorldState(NA_MAP_WYVERN_EAST_NEU_H, (m_WyvernStateEast & WYVERN_NEU_HORDE) != 0); - m_PvP.SendUpdateWorldState(NA_MAP_WYVERN_EAST_NEU_A, (m_WyvernStateEast & WYVERN_NEU_ALLIANCE) != 0); - m_PvP.SendUpdateWorldState(NA_MAP_WYVERN_EAST_H, (m_WyvernStateEast & WYVERN_HORDE) != 0); - m_PvP.SendUpdateWorldState(NA_MAP_WYVERN_EAST_A, (m_WyvernStateEast & WYVERN_ALLIANCE) != 0); - break; - } - } - - bool m_capturable; - - uint m_GuardsAlive; - - Team m_ControllingFaction; - - uint m_WyvernStateNorth; - uint m_WyvernStateSouth; - uint m_WyvernStateEast; - uint m_WyvernStateWest; - - uint m_HalaaState; - - uint m_RespawnTimer; - - uint m_GuardCheckTimer; - } - - class OutdoorPvP_nagrand : OutdoorPvPScript - { - public OutdoorPvP_nagrand() : base("outdoorpvp_na") { } - - public override OutdoorPvP GetOutdoorPvP() - { - return new OutdoorPvPNA(); - } - } -} diff --git a/Scripts/EasternKingdoms/Karazhan/ChessEvent.cs b/Scripts/EasternKingdoms/Karazhan/ChessEvent.cs deleted file mode 100644 index 9a0d0c9e5..000000000 --- a/Scripts/EasternKingdoms/Karazhan/ChessEvent.cs +++ /dev/null @@ -1,1703 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using Game.WorldEntities; -using Game.Scripting; -using Game.AI; -using Framework.Constants; -using Framework.ObjectDefines; -using Game.Spells; -using Framework.Util; -using Game.Maps; - -namespace Scripts.EasternKingdoms.Karazhan -{ - - enum blah - { - // texts - EMOTE_LIFT_CURSE = -1532131, - EMOTE_CHEAT = -1532132, - - SOUND_ID_GAME_BEGIN = 10338, - SOUND_ID_LOSE_PAWN_PLAYER_1 = 10339, - SOUND_ID_LOSE_PAWN_PLAYER_2 = 10340, - SOUND_ID_LOSE_PAWN_PLAYER_3 = 10341, - SOUND_ID_LOSE_PAWN_MEDIVH_1 = 10342, - SOUND_ID_LOSE_PAWN_MEDIVH_2 = 10343, - SOUND_ID_LOSE_PAWN_MEDIVH_3 = 10344, - SOUND_ID_LOSE_ROOK_PLAYER = 10345, - SOUND_ID_LOSE_ROOK_MEDIVH = 10346, - SOUND_ID_LOSE_BISHOP_PLAYER = 10347, - SOUND_ID_LOSE_BISHOP_MEDIVH = 10348, - SOUND_ID_LOSE_KNIGHT_PLAYER = 10349, - SOUND_ID_LOSE_KNIGHT_MEDIVH = 10350, - SOUND_ID_LOSE_QUEEN_PLAYER = 10351, - SOUND_ID_LOSE_QUEEN_MEDIVH = 10352, - SOUND_ID_CHECK_PLAYER = 10353, - SOUND_ID_CHECK_MEDIVH = 10354, - SOUND_ID_WIN_PLAYER = 10355, - SOUND_ID_WIN_MEDIVH = 10356, - SOUND_ID_CHEAT_1 = 10357, - SOUND_ID_CHEAT_2 = 10358, - SOUND_ID_CHEAT_3 = 10359, - - // movement spells - SPELL_MOVE_GENERIC = 30012, // spell which sends the signal to move - handled in core - SPELL_MOVE_1 = 32312, // spell which selects AI move square (for short range pieces) - SPELL_MOVE_2 = 37388, // spell which selects AI move square (for long range pieces) - // SPELL_MOVE_PAWN = 37146, // individual move spells (used only by controlled npcs) - // SPELL_MOVE_KNIGHT = 37144, - // SPELL_MOVE_QUEEN = 37148, - // SPELL_MOVE_ROCK = 37151, - // SPELL_MOVE_BISHOP = 37152, - // SPELL_MOVE_KING = 37153, - - // additional movement spells - SPELL_CHANGE_FACING = 30284, // spell which sends the initial facing request - handled in core - SPELL_FACE_SQUARE = 30270, // change facing - finalize facing update - - SPELL_MOVE_TO_SQUARE = 30253, // spell which sends the move response from the square to the piece - SPELL_MOVE_COOLDOWN = 30543, // add some cooldown to movement - SPELL_MOVE_MARKER = 32261, // white beam visual - used to mark the movement as complete - SPELL_DISABLE_SQUARE = 32745, // used by the White / Black triggers on the squares when a chess piece moves into place - SPELL_IS_SQUARE_USED = 39400, // cast when a chess piece moves to another square - // SPELL_SQUARED_OCCUPIED = 39399, // triggered by 39400; used to check if the square is occupied (if hits a target); Missing in 2.4.3 - - // generic spells - SPELL_IN_GAME = 30532, // teleport player near the entrance - SPELL_CONTROL_PIECE = 30019, // control a chess piece - SPELL_RECENTLY_IN_GAME = 30529, // debuff on player after chess piece uncharm - - SPELL_CHESS_AI_ATTACK_TIMER = 32226, // melee action timer - triggers 32225 - SPELL_ACTION_MELEE = 32225, // handle melee attacks - SPELL_MELEE_DAMAGE = 32247, // melee damage spell - used by all chess pieces - // SPELL_AI_SNAPSHOT_TIMER = 37440, // used to trigger spell 32260; purpose and usage unk - // SPELL_DISABLE_SQUARE_SELF = 32260, // used when a piece moves to another square - // SPELL_AI_ACTION_TIMER = 37504, // handle some kind of event check. Cast by npc 17459. Currently the way it works is unk - // SPELL_DISABLE_SQUARE = 30271, // not used - // SPELL_FIND_ENEMY = 32303, // not used - // SPELL_MOVE_NEAR_UNIT = 30417, // not used - // SPELL_GET_EMPTY_SQUARE = 30418, // not used - // SPELL_FACE_NEARBY_ENEMY = 37787, // not used - // SPELL_POST_MOVE_FACING = 38011, // not used - - // melee action spells - SPELL_MELEE_FOOTMAN = 32227, - SPELL_MELEE_WATER_ELEM = 37142, - SPELL_MELEE_CHARGER = 37143, - SPELL_MELEE_CLERIC = 37147, - SPELL_MELEE_CONJURER = 37149, - SPELL_MELEE_KING_LLANE = 37150, - SPELL_MELEE_GRUNT = 32228, - SPELL_MELEE_DAEMON = 37220, - SPELL_MELEE_NECROLYTE = 37337, - SPELL_MELEE_WOLF = 37339, - SPELL_MELEE_WARLOCK = 37345, - SPELL_MELEE_WARCHIEF_BLACKHAND = 37348, - - // cheat spells - SPELL_HAND_OF_MEDIVH_HORDE = 39338, // triggers 39339 - SPELL_HAND_OF_MEDIVH_ALLIANCE = 39342, // triggers 39339 - SPELL_FURY_OF_MEDIVH_HORDE = 39341, // triggers 39343 - SPELL_FURY_OF_MEDIVH_ALLIANCE = 39344, // triggers 39345 - SPELL_FURY_OF_MEDIVH_AURA = 39383, - // SPELL_FULL_HEAL_HORDE = 39334, // spells are not confirmed (probably removed after 2.4.3) - // SPELL_FULL_HEAL_ALLIANCE = 39335, - - // spells used by the chess npcs - SPELL_HEROISM = 37471, // human king - SPELL_SWEEP = 37474, - SPELL_BLOODLUST = 37472, // orc king - SPELL_CLEAVE = 37476, - SPELL_HEROIC_BLOW = 37406, // human pawn - SPELL_SHIELD_BLOCK = 37414, - SPELL_VICIOUS_STRIKE = 37413, // orc pawn - SPELL_WEAPON_DEFLECTION = 37416, - SPELL_SMASH = 37453, // human knight - SPELL_STOMP = 37498, - SPELL_BITE = 37454, // orc knight - SPELL_HOWL = 37502, - SPELL_ELEMENTAL_BLAST = 37462, // human queen - SPELL_RAIN_OF_FIRE = 37465, - SPELL_FIREBALL = 37463, // orc queen - // SPELL_POISON_CLOUD = 37469, - SPELL_POISON_CLOUD_ACTION = 37775, // triggers 37469 - acts as a target selector spell for orc queen - SPELL_HEALING = 37455, // human bishop - SPELL_HOLY_LANCE = 37459, - // SPELL_SHADOW_MEND = 37456, // orc bishop - SPELL_SHADOW_MEND_ACTION = 37824, // triggers 37456 - acts as a target selector spell for orc bishop - SPELL_SHADOW_SPEAR = 37461, - SPELL_GEYSER = 37427, // human rook - SPELL_WATER_SHIELD = 37432, - SPELL_HELLFIRE = 37428, // orc rook - SPELL_FIRE_SHIELD = 37434, - - // spells used to transform side trigger when npc dies - SPELL_TRANSFORM_FOOTMAN = 39350, - SPELL_TRANSFORM_CHARGER = 39352, - SPELL_TRANSFORM_CLERIC = 39353, - SPELL_TRANSFORM_WATER_ELEM = 39354, - SPELL_TRANSFORM_CONJURER = 39355, - SPELL_TRANSFORM_KING_LLANE = 39356, - SPELL_TRANSFORM_GRUNT = 39357, - SPELL_TRANSFORM_WOLF = 39358, - SPELL_TRANSFORM_NECROLYTE = 39359, - SPELL_TRANSFORM_DAEMON = 39360, - SPELL_TRANSFORM_WARLOCK = 39361, - SPELL_TRANSFORM_BLACKHAND = 39362, - - // generic npcs - // NPC_SQUARE_OUTSIDE_B = 17316, // used to check the interior of the board - // NPC_SQUARE_OUTSIDE_W = 17317, // not used in our script; keep for reference only - NPC_FURY_MEDIVH_VISUAL = 22521, // has aura 39383 - - // gossip texts - GOSSIP_ITEM_ORC_GRUNT = -3532006, - GOSSIP_ITEM_ORC_WOLF = -3532007, - GOSSIP_ITEM_SUMMONED_DEAMON = -3532008, - GOSSIP_ITEM_ORC_WARLOCK = -3532009, - GOSSIP_ITEM_ORC_NECROLYTE = -3532010, - GOSSIP_ITEM_WARCHIEF_BLACKHAND = -3532011, - GOSSIP_ITEM_HUMAN_FOOTMAN = -3532012, - GOSSIP_ITEM_HUMAN_CHARGER = -3532013, - GOSSIP_ITEM_WATER_ELEMENTAL = -3532014, - GOSSIP_ITEM_HUMAN_CONJURER = -3532015, - GOSSIP_ITEM_HUMAN_CLERIC = -3532016, - GOSSIP_ITEM_KING_LLANE = -3532017, - GOSSIP_ITEM_RESET_BOARD = -3532018, - - // gossip menu - GOSSIP_MENU_ID_GRUNT = 10425, - GOSSIP_MENU_ID_WOLF = 10439, - GOSSIP_MENU_ID_WARLOCK = 10440, - GOSSIP_MENU_ID_NECROLYTE = 10434, - GOSSIP_MENU_ID_DEAMON = 10426, - GOSSIP_MENU_ID_BLACKHAND = 10442, - GOSSIP_MENU_ID_FOOTMAN = 8952, - GOSSIP_MENU_ID_CHARGER = 10414, - GOSSIP_MENU_ID_CONJURER = 10417, - GOSSIP_MENU_ID_CLERIC = 10416, - GOSSIP_MENU_ID_ELEMENTAL = 10413, - GOSSIP_MENU_ID_LLANE = 10418, - GOSSIP_MENU_ID_MEDIVH = 10506, - GOSSIP_MENU_ID_MEDIVH_BEATEN = 10718, - - // misc - TARGET_TYPE_RANDOM = 1, - TARGET_TYPE_FRIENDLY = 2, - } - - // npc_echo_of_medivh - public class npc_echo_of_medivh : CreatureScript - { - public npc_echo_of_medivh() : base("npc_echo_of_medivh") { } - - class npc_echo_of_medivhAI : ScriptedAI - { - public npc_echo_of_medivhAI(Creature pCreature) : base(pCreature) - { - m_pInstance = (instance_karazhan.instance_karazhan_InstanceMapScript)pCreature.GetInstanceScript(); - Reset(); - } - - public override void Reset() - { - m_uiCheatTimer = 90000; - } - - public override void MoveInLineOfSight(Unit pWho) { } - - public override void AttackStart(Unit pWho) { } - - public override void JustSummoned(Creature pSummoned) - { - if (pSummoned.GetEntry() == NPC_FURY_MEDIVH_VISUAL) - pSummoned.CastSpell(pSummoned, SPELL_FURY_OF_MEDIVH_AURA, true); - } - - public override void UpdateAI(uint uiDiff) - { - if (m_pInstance == null || m_pInstance.GetData(TYPE_CHESS) != IN_PROGRESS) - return; - - if (m_uiCheatTimer < uiDiff) - { - DoCastSpellIfCan(m_creature, RandomHelper.URand(0, 1) ? (m_pInstance.GetPlayerTeam() == ALLIANCE ? SPELL_HAND_OF_MEDIVH_HORDE : SPELL_HAND_OF_MEDIVH_ALLIANCE) : - (m_pInstance.GetPlayerTeam() == ALLIANCE ? SPELL_FURY_OF_MEDIVH_ALLIANCE : SPELL_FURY_OF_MEDIVH_HORDE)); - - switch (RandomHelper.URand(0, 2)) - { - case 0: DoPlaySoundToSet(me, SOUND_ID_CHEAT_1); break; - case 1: DoPlaySoundToSet(me, SOUND_ID_CHEAT_2); break; - case 2: DoPlaySoundToSet(me, SOUND_ID_CHEAT_3); break; - } - - DoScriptText(EMOTE_CHEAT, me); - m_uiCheatTimer = 90000; - } - else - m_uiCheatTimer -= uiDiff; - } - - instance_karazhan.instance_karazhan_InstanceMapScript m_pInstance; - uint m_uiCheatTimer; - } - - public override CreatureAI GetAI(Creature pCreature) - { - return new npc_echo_of_medivhAI(pCreature); - } - - public override bool OnGossipHello(Player player, Creature creature) - { - InstanceScript pInstance = creature.GetInstanceScript(); - if (pInstance != null) - { - if (pInstance.GetData(TYPE_CHESS) != DONE && pInstance.GetData(TYPE_CHESS) != SPECIAL) - player.SEND_GOSSIP_MENU(GOSSIP_MENU_ID_MEDIVH, pCreature.GetObjectGuid()); - else - { - if (pInstance.GetData(TYPE_CHESS) == SPECIAL) - player.ADD_GOSSIP_ITEM_ID(GOSSIP_ICON_CHAT, GOSSIP_ITEM_RESET_BOARD, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1); - - player.SEND_GOSSIP_MENU(GOSSIP_MENU_ID_MEDIVH_BEATEN, pCreature.GetObjectGuid()); - } - - return true; - } - - return false; - } - - public override bool OnGossipSelect(Player player, Creature creature, uint sender, uint action) - { - if (uiAction == GOSSIP_ACTION_INFO_DEF + 1) - { - // reset the board - InstanceScript pInstance = creature.GetInstanceScript(); - if (pInstance != null) - pInstance.SetData(TYPE_CHESS, DONE); - - player.CLOSE_GOSSIP_MENU(); - } - - return true; - } - } - - //npc_chess_piece_generic - public class npc_chess_piece_generic : CreatureScript - { - public npc_chess_piece_generic() : base("") { } - - public class npc_chess_piece_genericAI : ScriptedAI - { - public npc_chess_piece_genericAI(Creature pCreature) : base(pCreature) - { - m_pInstance = (instance_karazhan.instance_karazhan_InstanceMapScript)pCreature.GetInstanceScript(); - Reset(); - } - - public instance_karazhan.instance_karazhan_InstanceMapScript m_pInstance; - - ObjectGuid m_currentSquareGuid; - - uint m_uiMoveTimer; - uint m_uiMoveCommandTimer; - uint m_uiSpellCommandTimer; - - bool m_bIsPrimarySpell; - float m_fCurrentOrientation; - - public override void Reset() - { - m_uiMoveTimer = 0; - m_uiMoveCommandTimer = 1000; - m_uiSpellCommandTimer = m_creature.HasAura(SPELL_CONTROL_PIECE) ? 0 : 1000; - m_bIsPrimarySpell = true; - - // cancel move timer for player faction npcs or for friendly games - if (m_pInstance) - { - if ((m_pInstance.GetPlayerTeam() == ALLIANCE && m_creature.getFaction() == FACTION_ID_CHESS_ALLIANCE) || - (m_pInstance.GetPlayerTeam() == HORDE && m_creature.getFaction() == FACTION_ID_CHESS_HORDE) || - m_pInstance.GetData(TYPE_CHESS) == DONE) - m_uiMoveCommandTimer = 0; - } - } - - // no default attacking or evading - public override void MoveInLineOfSight(Unit pWho) { } - public override void AttackStart(Unit pWho) { } - public override void EnterEvadeMode() { } - - public override void JustDied(Unit pKiller) - { - if (Creature pSquare = m_creature.GetMap().GetCreature(m_currentSquareGuid)) - pSquare.RemoveAllAuras(); - - // ToDo: remove corpse after 10 sec - } - - void ReceiveAIEvent(SmartEvents eventType, Creature pSender, Unit pInvoker, uint uiMiscValue) - { - // handle move event - if (eventType == AI_EVENT_CUSTOM_A) - { - // clear the current square - if (Creature pSquare = m_creature.GetMap().GetCreature(m_currentSquareGuid)) - pSquare.RemoveAllAuras(); - - m_currentSquareGuid = pInvoker.GetObjectGuid(); - m_uiMoveTimer = 2000; - } - // handle encounter start event - else if (eventType == AI_EVENT_CUSTOM_B) - { - // reset the variables - Reset(); - m_currentSquareGuid = pInvoker.GetObjectGuid(); - - // ToDo: enable this when the scope of the spell is clear - //if (Creature pStalker = m_pInstance.GetSingleCreatureFromStorage(NPC_WAITING_ROOM_STALKER)) - // pStalker.CastSpell(pStalker, SPELL_AI_ACTION_TIMER, true); - - //DoCastSpellIfCan(m_creature, SPELL_AI_SNAPSHOT_TIMER, CAST_TRIGGERED); - DoCastSpellIfCan(m_creature, SPELL_CHESS_AI_ATTACK_TIMER, CAST_TRIGGERED); - - pInvoker.CastSpell(pInvoker, SPELL_DISABLE_SQUARE, true); - pInvoker.CastSpell(pInvoker, SPELL_IS_SQUARE_USED, true); - } - } - - void MovementInform(uint uiMotionType, uint uiPointId) - { - if (uiMotionType != POINT_MOTION_TYPE || !uiPointId) - return; - - // update facing - if (Unit pTarget = GetTargetByType(TARGET_TYPE_RANDOM, 5.0f)) - DoCastSpellIfCan(pTarget, SPELL_CHANGE_FACING); - else - m_creature.SetFacingTo(m_fCurrentOrientation); - } - - public override void SpellHit(Unit pCaster, SpellInfo pSpell) - { - // do a soft reset when the piece is controlled - if (pCaster.GetTypeId() == TYPEID_PLAYER && pSpell.Id == SPELL_CONTROL_PIECE) - Reset(); - } - - // Function which returns a random target by type and range - public Unit GetTargetByType(byte uiType, float fRange, float fArc = MathFunctions.Pi) - { - if (!m_pInstance) - return NULL; - - uint uiTeam = m_creature.getFaction() == FACTION_ID_CHESS_ALLIANCE ? FACTION_ID_CHESS_HORDE : FACTION_ID_CHESS_ALLIANCE; - - // get friendly list for this type - if (uiType == TARGET_TYPE_FRIENDLY) - uiTeam = m_creature.getFaction(); - - // Get the list of enemies - GuidList lTempList; - std::vector vTargets; - vTargets.reserve(lTempList.size()); - - m_pInstance.GetChessPiecesByFaction(lTempList, uiTeam); - for (GuidList::const_iterator itr = lTempList.begin(); itr != lTempList.end(); ++itr) - { - Creature pTemp = m_creature.GetMap().GetCreature(*itr); - if (pTemp && pTemp.isAlive()) - { - // check for specified range targets and angle; Note: to be checked if the angle is right - if (fRange && !m_creature.isInFrontInMap(pTemp, fRange, fArc)) - continue; - - // skip friendly targets which are at full HP - if (uiType == TARGET_TYPE_FRIENDLY && pTemp.GetHealth() == pTemp.GetMaxHealth()) - continue; - - vTargets.push_back(pTemp); - } - } - - if (vTargets.empty()) - return NULL; - - return vTargets[urand(0, vTargets.size() - 1)]; - } - - // Function to get a square as close as possible to the enemy - Unit GetMovementSquare() - { - if (!m_pInstance) - return NULL; - - // define distance based on the spell radius - // this will replace the targeting sysmte of spells SPELL_MOVE_1 and SPELL_MOVE_2 - float fRadius = 10.0f; - std::list lSquaresList; - - // some pieces have special distance - switch (m_creature.GetEntry()) - { - case NPC_HUMAN_CONJURER: - case NPC_ORC_WARLOCK: - case NPC_HUMAN_CHARGER: - case NPC_ORC_WOLF: - fRadius = 15.0f; - break; - } - - // get all available squares for movement - GetCreatureListWithEntryInGrid(lSquaresList, m_creature, NPC_SQUARE_BLACK, fRadius); - GetCreatureListWithEntryInGrid(lSquaresList, m_creature, NPC_SQUARE_WHITE, fRadius); - - if (lSquaresList.empty()) - return NULL; - - // Get the list of enemies - GuidList lTempList; - std::list lEnemies; - - m_pInstance.GetChessPiecesByFaction(lTempList, m_creature.getFaction() == FACTION_ID_CHESS_ALLIANCE ? FACTION_ID_CHESS_HORDE : FACTION_ID_CHESS_ALLIANCE); - for (GuidList::const_iterator itr = lTempList.begin(); itr != lTempList.end(); ++itr) - { - Creature pTemp = m_creature.GetMap().GetCreature(*itr); - if (pTemp && pTemp.isAlive()) - lEnemies.push_back(pTemp); - } - - if (lEnemies.empty()) - return NULL; - - // Sort the enemies by distance and the squares compared to the distance to the closest enemy - lEnemies.sort(ObjectDistanceOrder(m_creature)); - lSquaresList.sort(ObjectDistanceOrder(lEnemies.front())); - - return lSquaresList.front(); - } - - public virtual uint DoCastPrimarySpell() { return 5000; } - public virtual uint DoCastSecondarySpell() { return 5000; } - - public override void UpdateAI(uint uiDiff) - { - if (!m_pInstance || m_pInstance.GetData(TYPE_CHESS) != IN_PROGRESS) - return; - - // issue move command - if (m_uiMoveCommandTimer) - { - if (m_uiMoveCommandTimer <= uiDiff) - { - // just update facing if some enemy is near - if (Unit pTarget = GetTargetByType(TARGET_TYPE_RANDOM, 5.0f)) - DoCastSpellIfCan(pTarget, SPELL_CHANGE_FACING); - else - { - // the npc doesn't have a 100% chance to move; also there should be some GCD check in core for this part - if (roll_chance_i(15)) - { - // Note: in a normal case the target would be chosen using the spells above - // However, because the core doesn't support special targeting, we'll provide explicit target - //uint uiMoveSpell = SPELL_MOVE_1; - //switch (m_creature.GetEntry()) - //{ - // case NPC_HUMAN_CONJURER: - // case NPC_ORC_WARLOCK: - // case NPC_HUMAN_CHARGER: - // case NPC_ORC_WOLF: - // uiMoveSpell = SPELL_MOVE_2; - // break; - //} - //DoCastSpellIfCan(m_creature, uiMoveSpell, CAST_TRIGGERED); - - // workaround which provides specific move target - if (Unit pTarget = GetMovementSquare()) - DoCastSpellIfCan(pTarget, SPELL_MOVE_GENERIC, CAST_TRIGGERED | CAST_INTERRUPT_PREVIOUS); - - m_fCurrentOrientation = m_creature.GetOrientation(); - } - } - - m_uiMoveCommandTimer = 5000; - } - else - m_uiMoveCommandTimer -= uiDiff; - } - - // issue spell command - if (m_uiSpellCommandTimer) - { - if (m_uiSpellCommandTimer <= uiDiff) - { - // alternate the spells and also reset the timer - m_uiSpellCommandTimer = m_bIsPrimarySpell ? DoCastPrimarySpell() : DoCastSecondarySpell(); - m_bIsPrimarySpell = !m_bIsPrimarySpell; - } - else - m_uiSpellCommandTimer -= uiDiff; - } - - // finish move timer - if (m_uiMoveTimer) - { - if (m_uiMoveTimer <= uiDiff) - { - if (Creature pSquare = m_creature.GetMap().GetCreature(m_currentSquareGuid)) - { - DoCastSpellIfCan(pSquare, SPELL_MOVE_MARKER, CAST_TRIGGERED); - m_creature.GetMotionMaster().MovePoint(1, pSquare.GetPositionX(), pSquare.GetPositionY(), pSquare.GetPositionZ()); - } - m_uiMoveTimer = 0; - } - else - m_uiMoveTimer -= uiDiff; - } - - if (!m_creature.SelectHostileTarget() || !m_creature.getVictim()) - return; - } - } - - public override bool OnGossipSelect(Player player, Creature creature, uint sender, uint action) - { - if (uiAction == GOSSIP_ACTION_INFO_DEF + 1) - { - // start event when used on the king - if (ScriptedInstance* pInstance = (ScriptedInstance*)pCreature.GetInstanceData()) - { - // teleport at the entrance and control the chess piece - player.CastSpell(player, SPELL_IN_GAME, true); - player.CastSpell(pCreature, SPELL_CONTROL_PIECE, true); - - if (pInstance.GetData(TYPE_CHESS) == NOT_STARTED) - pInstance.SetData(TYPE_CHESS, IN_PROGRESS); - else if (pInstance.GetData(TYPE_CHESS) == DONE) - pInstance.SetData(TYPE_CHESS, SPECIAL); - } - - player.CLOSE_GOSSIP_MENU(); - } - - return true; - } - - public override bool OnDummyEffect(Unit caster, uint spellId, int effIndex, Creature target) - { - // movement perform spell - if (uiSpellId == SPELL_MOVE_TO_SQUARE && uiEffIndex == EFFECT_INDEX_0) - { - if (pCaster.GetTypeId() == TYPEID_UNIT) - { - pCaster.CastSpell(pCaster, SPELL_DISABLE_SQUARE, true); - pCaster.CastSpell(pCaster, SPELL_IS_SQUARE_USED, true); - - pCreatureTarget.CastSpell(pCreatureTarget, SPELL_MOVE_COOLDOWN, true); - pCreatureTarget.AI().SendAIEvent(AI_EVENT_CUSTOM_A, pCaster, pCreatureTarget); - } - - return true; - } - // generic melee tick - else if (uiSpellId == SPELL_ACTION_MELEE && uiEffIndex == EFFECT_INDEX_0) - { - uint uiMeleeSpell = 0; - - switch (pCreatureTarget.GetEntry()) - { - case NPC_KING_LLANE: uiMeleeSpell = SPELL_MELEE_KING_LLANE; break; - case NPC_HUMAN_CHARGER: uiMeleeSpell = SPELL_MELEE_CHARGER; break; - case NPC_HUMAN_CLERIC: uiMeleeSpell = SPELL_MELEE_CLERIC; break; - case NPC_HUMAN_CONJURER: uiMeleeSpell = SPELL_MELEE_CONJURER; break; - case NPC_HUMAN_FOOTMAN: uiMeleeSpell = SPELL_MELEE_FOOTMAN; break; - case NPC_CONJURED_WATER_ELEMENTAL: uiMeleeSpell = SPELL_MELEE_WATER_ELEM; break; - case NPC_WARCHIEF_BLACKHAND: uiMeleeSpell = SPELL_MELEE_WARCHIEF_BLACKHAND; break; - case NPC_ORC_GRUNT: uiMeleeSpell = SPELL_MELEE_GRUNT; break; - case NPC_ORC_NECROLYTE: uiMeleeSpell = SPELL_MELEE_NECROLYTE; break; - case NPC_ORC_WARLOCK: uiMeleeSpell = SPELL_MELEE_WARLOCK; break; - case NPC_ORC_WOLF: uiMeleeSpell = SPELL_MELEE_WOLF; break; - case NPC_SUMMONED_DAEMON: uiMeleeSpell = SPELL_MELEE_DAEMON; break; - } - - pCreatureTarget.CastSpell(pCreatureTarget, uiMeleeSpell, true); - return true; - } - // square facing - else if (uiSpellId == SPELL_FACE_SQUARE && uiEffIndex == EFFECT_INDEX_0) - { - if (pCaster.GetTypeId() == TYPEID_UNIT) - pCreatureTarget.SetFacingToObject(pCaster); - - return true; - } - - return false; - } - } - - /*###### - ## npc_king_llane - ######*/ - public class npc_king_llane : CreatureScript - { - public npc_king_llane() : base("npc_king_llane") { } - - class npc_king_llaneAI : npc_chess_piece_generic.npc_chess_piece_genericAI - { - public npc_king_llaneAI(Creature pCreature) : base(pCreature) - { - m_bIsAttacked = false; - Reset(); - } - - bool m_bIsAttacked; - - public override void DamageTaken(Unit pDoneBy, ref uint uiDamage) - { - if (!uiDamage || !m_bIsAttacked || !m_pInstance || pDoneBy.GetTypeId() != TYPEID_UNIT) - return; - - if (Creature pMedivh = m_pInstance.GetSingleCreatureFromStorage(NPC_ECHO_MEDIVH)) - { - if (m_pInstance.GetPlayerTeam() == ALLIANCE) - DoPlaySoundToSet(pMedivh, SOUND_ID_CHECK_PLAYER); - else - DoPlaySoundToSet(pMedivh, SOUND_ID_CHECK_MEDIVH); - } - - m_bIsAttacked = true; - } - - public override void JustDied(Unit pKiller) - { - base.JustDied(pKiller); - - if (!m_pInstance) - return; - - Creature pMedivh = m_pInstance.GetSingleCreatureFromStorage(NPC_ECHO_MEDIVH); - if (!pMedivh) - return; - - if (m_pInstance.GetData(TYPE_CHESS) == SPECIAL) - m_pInstance.SetData(TYPE_CHESS, DONE); - else - { - if (m_pInstance.GetPlayerTeam() == HORDE) - { - DoPlaySoundToSet(pMedivh, SOUND_ID_WIN_PLAYER); - DoScriptText(EMOTE_LIFT_CURSE, pMedivh); - - m_pInstance.SetData(TYPE_CHESS, DONE); - } - else - { - DoPlaySoundToSet(pMedivh, SOUND_ID_WIN_MEDIVH); - m_pInstance.SetData(TYPE_CHESS, FAIL); - } - } - - m_pInstance.DoMoveChessPieceToSides(SPELL_TRANSFORM_KING_LLANE, FACTION_ID_CHESS_ALLIANCE, true); - } - - public override uint DoCastPrimarySpell() - { - if (Unit pTarget = GetTargetByType(TARGET_TYPE_RANDOM, 20.0f)) - { - DoCastSpellIfCan(m_creature, SPELL_HEROISM); - - // reset timer based on spell values - SpellInfo pSpell = GetSpellStore().LookupEntry(SPELL_HEROISM); - return pSpell.RecoveryTime ? pSpell.RecoveryTime : pSpell.CategoryRecoveryTime; - } - - return 5000; - } - - public override uint DoCastSecondarySpell() - { - if (Unit pTarget = GetTargetByType(TARGET_TYPE_RANDOM, 10.0f)) - { - DoCastSpellIfCan(m_creature, SPELL_SWEEP); - - // reset timer based on spell values - SpellInfo pSpell = GetSpellStore().LookupEntry(SPELL_SWEEP); - return pSpell.RecoveryTime ? pSpell.RecoveryTime : pSpell.CategoryRecoveryTime; - } - - return 5000; - } - } - - public override CreatureAI GetAI(Creature pCreature) - { - return new npc_king_llaneAI(pCreature); - } - - public override bool OnGossipHello(Player player, Creature creature) - { - if (player.HasAura(SPELL_RECENTLY_IN_GAME) || pCreature.HasAura(SPELL_CONTROL_PIECE)) - return true; - - if (instance_karazhan pInstance = (instance_karazhan)pCreature.GetInstanceData()) - { - if ((pInstance.GetData(TYPE_CHESS) != DONE && player.GetTeam() == ALLIANCE) || pInstance.IsFriendlyGameReady()) - player.ADD_GOSSIP_ITEM_ID(GOSSIP_ICON_CHAT, GOSSIP_ITEM_KING_LLANE, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1); - } - - player.SEND_GOSSIP_MENU(GOSSIP_MENU_ID_LLANE, pCreature.GetObjectGuid()); - return true; - } - } - - /*###### - ## npc_warchief_blackhand - ######*/ - public class npc_warchief_blackhand : CreatureScript - { - public npc_warchief_blackhand() : base("npc_warchief_blackhand") { } - - class npc_warchief_blackhandAI : npc_chess_piece_generic.npc_chess_piece_genericAI - { - public npc_warchief_blackhandAI(Creature pCreature) : base(pCreature) - { - m_bIsAttacked = false; - Reset(); - } - - bool m_bIsAttacked; - - public override void DamageTaken(Unit pDoneBy, ref uint uiDamage) - { - if (!uiDamage || !m_bIsAttacked || !m_pInstance || pDoneBy.GetTypeId() != TYPEID_UNIT) - return; - - if (Creature pMedivh = m_pInstance.GetSingleCreatureFromStorage(NPC_ECHO_MEDIVH)) - { - if (m_pInstance.GetPlayerTeam() == HORDE) - DoPlaySoundToSet(pMedivh, SOUND_ID_CHECK_PLAYER); - else - DoPlaySoundToSet(pMedivh, SOUND_ID_CHECK_MEDIVH); - } - - m_bIsAttacked = true; - } - - public override void JustDied(Unit pKiller) - { - base.JustDied(pKiller); - - if (!m_pInstance) - return; - - Creature pMedivh = m_pInstance.GetSingleCreatureFromStorage(NPC_ECHO_MEDIVH); - if (!pMedivh) - return; - - if (m_pInstance.GetData(TYPE_CHESS) == SPECIAL) - m_pInstance.SetData(TYPE_CHESS, DONE); - else - { - if (m_pInstance.GetPlayerTeam() == ALLIANCE) - { - DoPlaySoundToSet(pMedivh, SOUND_ID_WIN_PLAYER); - DoScriptText(EMOTE_LIFT_CURSE, pMedivh); - - m_pInstance.SetData(TYPE_CHESS, DONE); - } - else - { - DoPlaySoundToSet(pMedivh, SOUND_ID_WIN_MEDIVH); - m_pInstance.SetData(TYPE_CHESS, FAIL); - } - } - - m_pInstance.DoMoveChessPieceToSides(SPELL_TRANSFORM_BLACKHAND, FACTION_ID_CHESS_HORDE, true); - } - - public override uint DoCastPrimarySpell() - { - if (Unit pTarget = GetTargetByType(TARGET_TYPE_RANDOM, 20.0f)) - { - DoCastSpellIfCan(m_creature, SPELL_BLOODLUST); - - // reset timer based on spell values - SpellInfo pSpell = GetSpellStore().LookupEntry(SPELL_BLOODLUST); - return pSpell.RecoveryTime ? pSpell.RecoveryTime : pSpell.CategoryRecoveryTime; - } - - return 5000; - } - - public override uint DoCastSecondarySpell() - { - if (Unit pTarget = GetTargetByType(TARGET_TYPE_RANDOM, 10.0f)) - { - DoCastSpellIfCan(m_creature, SPELL_CLEAVE); - - // reset timer based on spell values - SpellInfo pSpell = GetSpellStore().LookupEntry(SPELL_CLEAVE); - return pSpell.RecoveryTime ? pSpell.RecoveryTime : pSpell.CategoryRecoveryTime; - } - - return 5000; - } - } - - public override CreatureAI GetAI(Creature pCreature) - { - return new npc_warchief_blackhandAI(pCreature); - } - - public override bool OnGossipHello(Player player, Creature creature) - { - if (player.HasAura(SPELL_RECENTLY_IN_GAME) || pCreature.HasAura(SPELL_CONTROL_PIECE)) - return true; - - if (instance_karazhan pInstance = (instance_karazhan)pCreature.GetInstanceData()) - { - if (pInstance.GetData(TYPE_CHESS) != DONE && player.GetTeam() == HORDE || pInstance.IsFriendlyGameReady()) - player.ADD_GOSSIP_ITEM_ID(GOSSIP_ICON_CHAT, GOSSIP_ITEM_WARCHIEF_BLACKHAND, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1); - } - - player.SEND_GOSSIP_MENU(GOSSIP_MENU_ID_BLACKHAND, pCreature.GetObjectGuid()); - return true; - } - } - - /*###### - ## npc_human_conjurer - ######*/ - public class npc_human_conjurer : CreatureScript - { - public npc_human_conjurer() : base("npc_human_conjurer") { } - - class npc_human_conjurerAI : npc_chess_piece_generic.npc_chess_piece_genericAI - { - public npc_human_conjurerAI(Creature pCreature) : base(pCreature) { Reset(); } - - public override void JustDied(Unit pKiller) - { - base.JustDied(pKiller); - - if (!m_pInstance) - return; - - Creature pMedivh = m_pInstance.GetSingleCreatureFromStorage(NPC_ECHO_MEDIVH); - if (!pMedivh) - return; - - if (m_pInstance.GetPlayerTeam() == ALLIANCE) - DoPlaySoundToSet(pMedivh, SOUND_ID_LOSE_QUEEN_PLAYER); - else - DoPlaySoundToSet(pMedivh, SOUND_ID_LOSE_QUEEN_MEDIVH); - - m_pInstance.DoMoveChessPieceToSides(SPELL_TRANSFORM_CONJURER, FACTION_ID_CHESS_ALLIANCE); - } - - public override uint DoCastPrimarySpell() - { - if (Unit pTarget = GetTargetByType(TARGET_TYPE_RANDOM, 20.0f)) - { - DoCastSpellIfCan(pTarget, SPELL_ELEMENTAL_BLAST); - - // reset timer based on spell values - SpellInfo pSpell = GetSpellStore().LookupEntry(SPELL_ELEMENTAL_BLAST); - return pSpell.RecoveryTime ? pSpell.RecoveryTime : pSpell.CategoryRecoveryTime; - } - - return 5000; - } - - public override uint DoCastSecondarySpell() - { - if (Unit pTarget = GetTargetByType(TARGET_TYPE_RANDOM, 25.0f)) - { - DoCastSpellIfCan(pTarget, SPELL_RAIN_OF_FIRE); - - // reset timer based on spell values - SpellInfo pSpell = GetSpellStore().LookupEntry(SPELL_RAIN_OF_FIRE); - return pSpell.RecoveryTime ? pSpell.RecoveryTime : pSpell.CategoryRecoveryTime; - } - - return 5000; - } - } - - public override CreatureAI GetAI(Creature pCreature) - { - return new npc_human_conjurerAI(pCreature); - } - - public override bool OnGossipHello(Player player, Creature creature) - { - if (player.HasAura(SPELL_RECENTLY_IN_GAME) || pCreature.HasAura(SPELL_CONTROL_PIECE)) - return true; - - if (ScriptedInstance* pInstance = (ScriptedInstance*)pCreature.GetInstanceData()) - { - if ((pInstance.GetData(TYPE_CHESS) == IN_PROGRESS && player.GetTeam() == ALLIANCE) || pInstance.GetData(TYPE_CHESS) == SPECIAL) - player.ADD_GOSSIP_ITEM_ID(GOSSIP_ICON_CHAT, GOSSIP_ITEM_HUMAN_CONJURER, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1); - } - - player.SEND_GOSSIP_MENU(GOSSIP_MENU_ID_CONJURER, pCreature.GetObjectGuid()); - return true; - } - } - - /*###### - ## npc_orc_warlock - ######*/ - class npc_orc_warlock : CreatureScript - { - public npc_orc_warlock() : base("npc_orc_warlock") { } - - class npc_orc_warlockAI : npc_chess_piece_generic.npc_chess_piece_genericAI - { - public npc_orc_warlockAI(Creature pCreature) : base(pCreature) { Reset(); } - - public override void JustDied(Unit pKiller) - { - base.JustDied(pKiller); - - if (!m_pInstance) - return; - - Creature pMedivh = m_pInstance.GetSingleCreatureFromStorage(NPC_ECHO_MEDIVH); - if (!pMedivh) - return; - - if (m_pInstance.GetPlayerTeam() == HORDE) - DoPlaySoundToSet(pMedivh, SOUND_ID_LOSE_QUEEN_PLAYER); - else - DoPlaySoundToSet(pMedivh, SOUND_ID_LOSE_QUEEN_MEDIVH); - - m_pInstance.DoMoveChessPieceToSides(SPELL_TRANSFORM_WARLOCK, FACTION_ID_CHESS_HORDE); - } - - public override uint DoCastPrimarySpell() - { - if (Unit pTarget = GetTargetByType(TARGET_TYPE_RANDOM, 20.0f)) - { - DoCastSpellIfCan(pTarget, SPELL_FIREBALL); - - // reset timer based on spell values - SpellInfo pSpell = GetSpellStore().LookupEntry(SPELL_FIREBALL); - return pSpell.RecoveryTime ? pSpell.RecoveryTime : pSpell.CategoryRecoveryTime; - } - - return 5000; - } - - public override uint DoCastSecondarySpell() - { - if (Unit pTarget = GetTargetByType(TARGET_TYPE_RANDOM, 25.0f)) - { - DoCastSpellIfCan(pTarget, SPELL_POISON_CLOUD_ACTION); - - // reset timer based on spell values - SpellInfo pSpell = GetSpellStore().LookupEntry(SPELL_POISON_CLOUD_ACTION); - return pSpell.RecoveryTime ? pSpell.RecoveryTime : pSpell.CategoryRecoveryTime; - } - - return 5000; - } - } - - public override CreatureAI GetAI(Creature pCreature) - { - return new npc_orc_warlockAI(pCreature); - } - - public override bool OnGossipHello(Player player, Creature creature) - { - if (player.HasAura(SPELL_RECENTLY_IN_GAME) || pCreature.HasAura(SPELL_CONTROL_PIECE)) - return true; - - if (ScriptedInstance* pInstance = (ScriptedInstance*)pCreature.GetInstanceData()) - { - if ((pInstance.GetData(TYPE_CHESS) == IN_PROGRESS && player.GetTeam() == HORDE) || pInstance.GetData(TYPE_CHESS) == SPECIAL) - player.ADD_GOSSIP_ITEM_ID(GOSSIP_ICON_CHAT, GOSSIP_ITEM_ORC_WARLOCK, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1); - } - - player.SEND_GOSSIP_MENU(GOSSIP_MENU_ID_WARLOCK, pCreature.GetObjectGuid()); - return true; - } - } - - /*###### - ## npc_human_footman - ######*/ - class npc_human_footman : CreatureScript - { - public npc_human_footman() : base("npc_human_footman") { } - - class npc_human_footmanAI : npc_chess_piece_generic.npc_chess_piece_genericAI - { - public npc_human_footmanAI(Creature pCreature) : base(pCreature) { Reset(); } - - public override void JustDied(Unit pKiller) - { - base.JustDied(pKiller); - - if (!m_pInstance) - return; - - Creature pMedivh = m_pInstance.GetSingleCreatureFromStorage(NPC_ECHO_MEDIVH); - if (!pMedivh) - return; - - if (m_pInstance.GetPlayerTeam() == ALLIANCE) - { - switch (urand(0, 2)) - { - case 0: DoPlaySoundToSet(pMedivh, SOUND_ID_LOSE_PAWN_PLAYER_1); break; - case 1: DoPlaySoundToSet(pMedivh, SOUND_ID_LOSE_PAWN_PLAYER_2); break; - case 2: DoPlaySoundToSet(pMedivh, SOUND_ID_LOSE_PAWN_PLAYER_3); break; - } - } - else - { - switch (urand(0, 2)) - { - case 0: DoPlaySoundToSet(pMedivh, SOUND_ID_LOSE_PAWN_MEDIVH_1); break; - case 1: DoPlaySoundToSet(pMedivh, SOUND_ID_LOSE_PAWN_MEDIVH_2); break; - case 2: DoPlaySoundToSet(pMedivh, SOUND_ID_LOSE_PAWN_MEDIVH_3); break; - } - } - - m_pInstance.DoMoveChessPieceToSides(SPELL_TRANSFORM_FOOTMAN, FACTION_ID_CHESS_ALLIANCE); - } - - public override uint DoCastPrimarySpell() - { - if (Unit pTarget = GetTargetByType(TARGET_TYPE_RANDOM, 8.0f, M_PI_F / 12)) - { - DoCastSpellIfCan(m_creature, SPELL_HEROIC_BLOW); - - // reset timer based on spell values - SpellInfo pSpell = GetSpellStore().LookupEntry(SPELL_HEROIC_BLOW); - return pSpell.RecoveryTime ? pSpell.RecoveryTime : pSpell.CategoryRecoveryTime; - } - - return 5000; - } - - public override uint DoCastSecondarySpell() - { - if (Unit pTarget = GetTargetByType(TARGET_TYPE_RANDOM, 8.0f)) - { - DoCastSpellIfCan(m_creature, SPELL_SHIELD_BLOCK); - - // reset timer based on spell values - SpellInfo pSpell = GetSpellStore().LookupEntry(SPELL_SHIELD_BLOCK); - return pSpell.RecoveryTime ? pSpell.RecoveryTime : pSpell.CategoryRecoveryTime; - } - - return 5000; - } - } - - public override CreatureAI GetAI(Creature pCreature) - { - return new npc_human_footmanAI(pCreature); - } - - public override bool OnGossipHello(Player player, Creature creature) - { - if (player.HasAura(SPELL_RECENTLY_IN_GAME) || pCreature.HasAura(SPELL_CONTROL_PIECE)) - return true; - - if (ScriptedInstance* pInstance = (ScriptedInstance*)pCreature.GetInstanceData()) - { - if ((pInstance.GetData(TYPE_CHESS) == IN_PROGRESS && player.GetTeam() == ALLIANCE) || pInstance.GetData(TYPE_CHESS) == SPECIAL) - player.ADD_GOSSIP_ITEM_ID(GOSSIP_ICON_CHAT, GOSSIP_ITEM_HUMAN_FOOTMAN, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1); - } - - player.SEND_GOSSIP_MENU(GOSSIP_MENU_ID_FOOTMAN, pCreature.GetObjectGuid()); - return true; - } - } - - /*###### - ## npc_orc_grunt - ######*/ - class npc_orc_grunt : CreatureScript - { - public npc_orc_grunt() : base("npc_orc_grunt") { } - - class npc_orc_gruntAI : npc_chess_piece_generic.npc_chess_piece_genericAI - { - public npc_orc_gruntAI(Creature pCreature) : base(pCreature) { Reset(); } - - public override void JustDied(Unit pKiller) - { - base.JustDied(pKiller); - - if (!m_pInstance) - return; - - Creature pMedivh = m_pInstance.GetSingleCreatureFromStorage(NPC_ECHO_MEDIVH); - if (!pMedivh) - return; - - if (m_pInstance.GetPlayerTeam() == HORDE) - { - switch (urand(0, 2)) - { - case 0: DoPlaySoundToSet(pMedivh, SOUND_ID_LOSE_PAWN_PLAYER_1); break; - case 1: DoPlaySoundToSet(pMedivh, SOUND_ID_LOSE_PAWN_PLAYER_2); break; - case 2: DoPlaySoundToSet(pMedivh, SOUND_ID_LOSE_PAWN_PLAYER_3); break; - } - } - else - { - switch (urand(0, 2)) - { - case 0: DoPlaySoundToSet(pMedivh, SOUND_ID_LOSE_PAWN_MEDIVH_1); break; - case 1: DoPlaySoundToSet(pMedivh, SOUND_ID_LOSE_PAWN_MEDIVH_2); break; - case 2: DoPlaySoundToSet(pMedivh, SOUND_ID_LOSE_PAWN_MEDIVH_3); break; - } - } - - m_pInstance.DoMoveChessPieceToSides(SPELL_TRANSFORM_GRUNT, FACTION_ID_CHESS_HORDE); - } - - public override uint DoCastPrimarySpell() - { - if (Unit pTarget = GetTargetByType(TARGET_TYPE_RANDOM, 8.0f, M_PI_F / 12)) - { - DoCastSpellIfCan(m_creature, SPELL_VICIOUS_STRIKE); - - // reset timer based on spell values - SpellInfo pSpell = GetSpellStore().LookupEntry(SPELL_VICIOUS_STRIKE); - return pSpell.RecoveryTime ? pSpell.RecoveryTime : pSpell.CategoryRecoveryTime; - } - - return 5000; - } - - public override uint DoCastSecondarySpell() - { - if (Unit pTarget = GetTargetByType(TARGET_TYPE_RANDOM, 8.0f)) - { - DoCastSpellIfCan(m_creature, SPELL_WEAPON_DEFLECTION); - - // reset timer based on spell values - SpellInfo pSpell = GetSpellStore().LookupEntry(SPELL_WEAPON_DEFLECTION); - return pSpell.RecoveryTime ? pSpell.RecoveryTime : pSpell.CategoryRecoveryTime; - } - - return 5000; - } - } - - public override CreatureAI GetAI(Creature pCreature) - { - return new npc_orc_gruntAI(pCreature); - } - - public override bool OnGossipHello(Player player, Creature creature) - { - if (player.HasAura(SPELL_RECENTLY_IN_GAME) || pCreature.HasAura(SPELL_CONTROL_PIECE)) - return true; - - if (ScriptedInstance* pInstance = (ScriptedInstance*)pCreature.GetInstanceData()) - { - if ((pInstance.GetData(TYPE_CHESS) == IN_PROGRESS && player.GetTeam() == HORDE) || pInstance.GetData(TYPE_CHESS) == SPECIAL) - player.ADD_GOSSIP_ITEM_ID(GOSSIP_ICON_CHAT, GOSSIP_ITEM_ORC_GRUNT, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1); - } - - player.SEND_GOSSIP_MENU(GOSSIP_MENU_ID_GRUNT, pCreature.GetObjectGuid()); - return true; - } - } - - /*###### - ## npc_water_elemental - ######*/ - class npc_water_elemental : CreatureScript - { - public npc_water_elemental() : base("npc_water_elemental") { } - - class npc_water_elementalAI : npc_chess_piece_generic.npc_chess_piece_genericAI - { - public npc_water_elementalAI(Creature pCreature) : base(pCreature) { Reset(); } - - public override void JustDied(Unit pKiller) - { - base.JustDied(pKiller); - - if (!m_pInstance) - return; - - Creature pMedivh = m_pInstance.GetSingleCreatureFromStorage(NPC_ECHO_MEDIVH); - if (!pMedivh) - return; - - if (m_pInstance.GetPlayerTeam() == ALLIANCE) - DoPlaySoundToSet(pMedivh, SOUND_ID_LOSE_ROOK_PLAYER); - else - DoPlaySoundToSet(pMedivh, SOUND_ID_LOSE_ROOK_MEDIVH); - - m_pInstance.DoMoveChessPieceToSides(SPELL_TRANSFORM_WATER_ELEM, FACTION_ID_CHESS_ALLIANCE); - } - - public override uint DoCastPrimarySpell() - { - if (Unit pTarget = GetTargetByType(TARGET_TYPE_RANDOM, 9.0f)) - { - DoCastSpellIfCan(m_creature, SPELL_GEYSER); - - // reset timer based on spell values - SpellInfo pSpell = GetSpellStore().LookupEntry(SPELL_GEYSER); - return pSpell.RecoveryTime ? pSpell.RecoveryTime : pSpell.CategoryRecoveryTime; - } - - return 5000; - } - - public override uint DoCastSecondarySpell() - { - if (Unit pTarget = GetTargetByType(TARGET_TYPE_RANDOM, 9.0f)) - { - DoCastSpellIfCan(m_creature, SPELL_WATER_SHIELD); - - // reset timer based on spell values - SpellInfo pSpell = GetSpellStore().LookupEntry(SPELL_WATER_SHIELD); - return pSpell.RecoveryTime ? pSpell.RecoveryTime : pSpell.CategoryRecoveryTime; - } - - return 5000; - } - } - - public override CreatureAI GetAI(Creature pCreature) - { - return new npc_water_elementalAI(pCreature); - } - - public override bool OnGossipHello(Player player, Creature creature) - { - if (player.HasAura(SPELL_RECENTLY_IN_GAME) || pCreature.HasAura(SPELL_CONTROL_PIECE)) - return true; - - if (ScriptedInstance* pInstance = (ScriptedInstance*)pCreature.GetInstanceData()) - { - if ((pInstance.GetData(TYPE_CHESS) == IN_PROGRESS && player.GetTeam() == ALLIANCE) || pInstance.GetData(TYPE_CHESS) == SPECIAL) - player.ADD_GOSSIP_ITEM_ID(GOSSIP_ICON_CHAT, GOSSIP_ITEM_WATER_ELEMENTAL, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1); - } - - player.SEND_GOSSIP_MENU(GOSSIP_MENU_ID_ELEMENTAL, pCreature.GetObjectGuid()); - return true; - } - } - - /*###### - ## npc_summoned_daemon - ######*/ - class npc_summoned_daemon : CreatureScript - { - public npc_summoned_daemon() : base("npc_summoned_daemon") { } - - class npc_summoned_daemonAI : npc_chess_piece_generic.npc_chess_piece_genericAI - { - public npc_summoned_daemonAI(Creature pCreature) : base(pCreature) { Reset(); } - - public override void JustDied(Unit pKiller) - { - base.JustDied(pKiller); - - if (!m_pInstance) - return; - - Creature pMedivh = m_pInstance.GetSingleCreatureFromStorage(NPC_ECHO_MEDIVH); - if (!pMedivh) - return; - - if (m_pInstance.GetPlayerTeam() == HORDE) - DoPlaySoundToSet(pMedivh, SOUND_ID_LOSE_ROOK_PLAYER); - else - DoPlaySoundToSet(pMedivh, SOUND_ID_LOSE_ROOK_MEDIVH); - - m_pInstance.DoMoveChessPieceToSides(SPELL_TRANSFORM_DAEMON, FACTION_ID_CHESS_HORDE); - } - - public override uint DoCastPrimarySpell() - { - if (Unit pTarget = GetTargetByType(TARGET_TYPE_RANDOM, 9.0f)) - { - DoCastSpellIfCan(m_creature, SPELL_HELLFIRE); - - // reset timer based on spell values - SpellInfo pSpell = GetSpellStore().LookupEntry(SPELL_HELLFIRE); - return pSpell.RecoveryTime ? pSpell.RecoveryTime : pSpell.CategoryRecoveryTime; - } - - return 5000; - } - - public override uint DoCastSecondarySpell() - { - if (Unit pTarget = GetTargetByType(TARGET_TYPE_RANDOM, 9.0f)) - { - DoCastSpellIfCan(m_creature, SPELL_FIRE_SHIELD); - - // reset timer based on spell values - SpellInfo pSpell = GetSpellStore().LookupEntry(SPELL_FIRE_SHIELD); - return pSpell.RecoveryTime ? pSpell.RecoveryTime : pSpell.CategoryRecoveryTime; - } - - return 5000; - } - } - - public override CreatureAI GetAI(Creature pCreature) - { - return new npc_summoned_daemonAI(pCreature); - } - - public override bool OnGossipHello(Player player, Creature creature) - { - if (player.HasAura(SPELL_RECENTLY_IN_GAME) || pCreature.HasAura(SPELL_CONTROL_PIECE)) - return true; - - if (ScriptedInstance* pInstance = (ScriptedInstance*)pCreature.GetInstanceData()) - { - if ((pInstance.GetData(TYPE_CHESS) == IN_PROGRESS && player.GetTeam() == HORDE) || pInstance.GetData(TYPE_CHESS) == SPECIAL) - player.ADD_GOSSIP_ITEM_ID(GOSSIP_ICON_CHAT, GOSSIP_ITEM_SUMMONED_DEAMON, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1); - } - - player.SEND_GOSSIP_MENU(GOSSIP_MENU_ID_DEAMON, pCreature.GetObjectGuid()); - return true; - } - } - - /*###### - ## npc_human_charger - ######*/ - class npc_human_charger : CreatureScript - { - public npc_human_charger() : base("npc_human_charger") { } - - class npc_human_chargerAI : npc_chess_piece_generic.npc_chess_piece_genericAI - { - public npc_human_chargerAI(Creature pCreature) : base(pCreature) { Reset(); } - - public override void JustDied(Unit pKiller) - { - base.JustDied(pKiller); - - if (!m_pInstance) - return; - - Creature pMedivh = m_pInstance.GetSingleCreatureFromStorage(NPC_ECHO_MEDIVH); - if (!pMedivh) - return; - - if (m_pInstance.GetPlayerTeam() == ALLIANCE) - DoPlaySoundToSet(pMedivh, SOUND_ID_LOSE_KNIGHT_PLAYER); - else - DoPlaySoundToSet(pMedivh, SOUND_ID_LOSE_KNIGHT_MEDIVH); - - m_pInstance.DoMoveChessPieceToSides(SPELL_TRANSFORM_CHARGER, FACTION_ID_CHESS_ALLIANCE); - } - - public override uint DoCastPrimarySpell() - { - if (Unit pTarget = GetTargetByType(TARGET_TYPE_RANDOM, 8.0f, M_PI_F / 12)) - { - DoCastSpellIfCan(m_creature, SPELL_SMASH); - - // reset timer based on spell values - SpellInfo pSpell = GetSpellStore().LookupEntry(SPELL_SMASH); - return pSpell.RecoveryTime ? pSpell.RecoveryTime : pSpell.CategoryRecoveryTime; - } - - return 5000; - } - - public override uint DoCastSecondarySpell() - { - if (Unit pTarget = GetTargetByType(TARGET_TYPE_RANDOM, 10.0f, M_PI_F / 12)) - { - DoCastSpellIfCan(m_creature, SPELL_STOMP); - - // reset timer based on spell values - SpellInfo pSpell = GetSpellStore().LookupEntry(SPELL_STOMP); - return pSpell.RecoveryTime ? pSpell.RecoveryTime : pSpell.CategoryRecoveryTime; - } - - return 5000; - } - } - - public override CreatureAI GetAI(Creature pCreature) - { - return new npc_human_chargerAI(pCreature); - } - - public override bool OnGossipHello(Player player, Creature creature) - { - if (player.HasAura(SPELL_RECENTLY_IN_GAME) || pCreature.HasAura(SPELL_CONTROL_PIECE)) - return true; - - if (ScriptedInstance* pInstance = (ScriptedInstance*)pCreature.GetInstanceData()) - { - if ((pInstance.GetData(TYPE_CHESS) == IN_PROGRESS && player.GetTeam() == ALLIANCE) || pInstance.GetData(TYPE_CHESS) == SPECIAL) - player.ADD_GOSSIP_ITEM_ID(GOSSIP_ICON_CHAT, GOSSIP_ITEM_HUMAN_CHARGER, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1); - } - - player.SEND_GOSSIP_MENU(GOSSIP_MENU_ID_CHARGER, pCreature.GetObjectGuid()); - return true; - } - } - - /*###### - ## npc_orc_wolf - ######*/ - class npc_orc_wolf : CreatureScript - { - public npc_orc_wolf() : base("npc_orc_wolf") { } - - class npc_orc_wolfAI : npc_chess_piece_generic.npc_chess_piece_genericAI - { - public npc_orc_wolfAI(Creature pCreature) : base(pCreature) { Reset(); } - - public override void JustDied(Unit pKiller) - { - base.JustDied(pKiller); - - if (!m_pInstance) - return; - - Creature pMedivh = m_pInstance.GetSingleCreatureFromStorage(NPC_ECHO_MEDIVH); - if (!pMedivh) - return; - - if (m_pInstance.GetPlayerTeam() == HORDE) - DoPlaySoundToSet(pMedivh, SOUND_ID_LOSE_KNIGHT_PLAYER); - else - DoPlaySoundToSet(pMedivh, SOUND_ID_LOSE_KNIGHT_MEDIVH); - - m_pInstance.DoMoveChessPieceToSides(SPELL_TRANSFORM_WOLF, FACTION_ID_CHESS_HORDE); - } - - public override uint DoCastPrimarySpell() - { - if (Unit pTarget = GetTargetByType(TARGET_TYPE_RANDOM, 8.0f, M_PI_F / 12)) - { - DoCastSpellIfCan(m_creature, SPELL_BITE); - - // reset timer based on spell values - SpellInfo pSpell = GetSpellStore().LookupEntry(SPELL_BITE); - return pSpell.RecoveryTime ? pSpell.RecoveryTime : pSpell.CategoryRecoveryTime; - } - - return 5000; - } - - public override uint DoCastSecondarySpell() - { - if (Unit pTarget = GetTargetByType(TARGET_TYPE_RANDOM, 10.0f, M_PI_F / 12)) - { - DoCastSpellIfCan(m_creature, SPELL_HOWL); - - // reset timer based on spell values - SpellInfo pSpell = GetSpellStore().LookupEntry(SPELL_HOWL); - return pSpell.RecoveryTime ? pSpell.RecoveryTime : pSpell.CategoryRecoveryTime; - } - - return 5000; - } - } - - public override CreatureAI GetAI(Creature pCreature) - { - return new npc_orc_wolfAI(pCreature); - } - - public override bool OnGossipHello(Player player, Creature creature) - { - if (player.HasAura(SPELL_RECENTLY_IN_GAME) || pCreature.HasAura(SPELL_CONTROL_PIECE)) - return true; - - if (ScriptedInstance* pInstance = (ScriptedInstance*)pCreature.GetInstanceData()) - { - if ((pInstance.GetData(TYPE_CHESS) == IN_PROGRESS && player.GetTeam() == HORDE) || pInstance.GetData(TYPE_CHESS) == SPECIAL) - player.ADD_GOSSIP_ITEM_ID(GOSSIP_ICON_CHAT, GOSSIP_ITEM_ORC_WOLF, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1); - } - - player.SEND_GOSSIP_MENU(GOSSIP_MENU_ID_WOLF, pCreature.GetObjectGuid()); - return true; - } - } - - /*###### - ## npc_human_cleric - ######*/ - class npc_human_cleric : CreatureScript - { - public npc_human_cleric() : base("npc_human_cleric") { } - - class npc_human_clericAI : npc_chess_piece_generic.npc_chess_piece_genericAI - { - public npc_human_clericAI(Creature pCreature) : base(pCreature) { Reset(); } - - public override void JustDied(Unit pKiller) - { - base.JustDied(pKiller); - - if (!m_pInstance) - return; - - Creature pMedivh = m_pInstance.GetSingleCreatureFromStorage(NPC_ECHO_MEDIVH); - if (!pMedivh) - return; - - if (m_pInstance.GetPlayerTeam() == ALLIANCE) - DoPlaySoundToSet(pMedivh, SOUND_ID_LOSE_BISHOP_PLAYER); - else - DoPlaySoundToSet(pMedivh, SOUND_ID_LOSE_BISHOP_MEDIVH); - - m_pInstance.DoMoveChessPieceToSides(SPELL_TRANSFORM_CLERIC, FACTION_ID_CHESS_ALLIANCE); - } - - public override uint DoCastPrimarySpell() - { - if (Unit pTarget = GetTargetByType(TARGET_TYPE_FRIENDLY, 25.0f)) - { - DoCastSpellIfCan(pTarget, SPELL_HEALING); - - // reset timer based on spell values - SpellInfo pSpell = GetSpellStore().LookupEntry(SPELL_HEALING); - return pSpell.RecoveryTime ? pSpell.RecoveryTime : pSpell.CategoryRecoveryTime; - } - - return 5000; - } - - public override uint DoCastSecondarySpell() - { - if (Unit pTarget = GetTargetByType(TARGET_TYPE_RANDOM, 18.0f, M_PI_F / 12)) - { - DoCastSpellIfCan(m_creature, SPELL_HOLY_LANCE); - - // reset timer based on spell values - SpellInfo pSpell = GetSpellStore().LookupEntry(SPELL_HOLY_LANCE); - return pSpell.RecoveryTime ? pSpell.RecoveryTime : pSpell.CategoryRecoveryTime; - } - - return 5000; - } - } - - public override CreatureAI GetAI(Creature pCreature) - { - return new npc_human_clericAI(pCreature); - } - - public override bool OnGossipHello(Player player, Creature creature) - { - if (player.HasAura(SPELL_RECENTLY_IN_GAME) || pCreature.HasAura(SPELL_CONTROL_PIECE)) - return true; - - if (ScriptedInstance* pInstance = (ScriptedInstance*)pCreature.GetInstanceData()) - { - if ((pInstance.GetData(TYPE_CHESS) == IN_PROGRESS && player.GetTeam() == ALLIANCE) || pInstance.GetData(TYPE_CHESS) == SPECIAL) - player.ADD_GOSSIP_ITEM_ID(GOSSIP_ICON_CHAT, GOSSIP_ITEM_HUMAN_CLERIC, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1); - } - - player.SEND_GOSSIP_MENU(GOSSIP_MENU_ID_CLERIC, pCreature.GetObjectGuid()); - return true; - } - } - - /*###### - ## npc_orc_necrolyte - ######*/ - class npc_orc_necrolyte : CreatureScript - { - public npc_orc_necrolyte() : base("npc_orc_necrolyte") { } - - class npc_orc_necrolyteAI : npc_chess_piece_generic.npc_chess_piece_genericAI - { - public npc_orc_necrolyteAI(Creature pCreature) : base(pCreature) { Reset(); } - - public override void JustDied(Unit pKiller) - { - base.JustDied(pKiller); - - if (!m_pInstance) - return; - - Creature pMedivh = m_pInstance.GetSingleCreatureFromStorage(NPC_ECHO_MEDIVH); - if (!pMedivh) - return; - - if (m_pInstance.GetPlayerTeam() == HORDE) - DoPlaySoundToSet(pMedivh, SOUND_ID_LOSE_BISHOP_PLAYER); - else - DoPlaySoundToSet(pMedivh, SOUND_ID_LOSE_BISHOP_MEDIVH); - - m_pInstance.DoMoveChessPieceToSides(SPELL_TRANSFORM_NECROLYTE, FACTION_ID_CHESS_HORDE); - } - - public override uint DoCastPrimarySpell() - { - if (Unit pTarget = GetTargetByType(TARGET_TYPE_FRIENDLY, 25.0f)) - { - DoCastSpellIfCan(pTarget, SPELL_SHADOW_MEND_ACTION); - - // reset timer based on spell values - SpellInfo pSpell = GetSpellStore().LookupEntry(SPELL_SHADOW_MEND_ACTION); - return pSpell.RecoveryTime ? pSpell.RecoveryTime : pSpell.CategoryRecoveryTime; - } - - return 5000; - } - - public override uint DoCastSecondarySpell() - { - if (Unit pTarget = GetTargetByType(TARGET_TYPE_RANDOM, 18.0f, M_PI_F / 12)) - { - DoCastSpellIfCan(m_creature, SPELL_SHADOW_SPEAR); - - // reset timer based on spell values - SpellInfo pSpell = GetSpellStore().LookupEntry(SPELL_SHADOW_SPEAR); - return pSpell.RecoveryTime ? pSpell.RecoveryTime : pSpell.CategoryRecoveryTime; - } - - return 5000; - } - } - - public override CreatureAI GetAI(Creature pCreature) - { - return new npc_orc_necrolyteAI(pCreature); - } - - public override bool OnGossipHello(Player player, Creature creature) - { - if (player.HasAura(SPELL_RECENTLY_IN_GAME) || pCreature.HasAura(SPELL_CONTROL_PIECE)) - return true; - - if (ScriptedInstance* pInstance = (ScriptedInstance*)pCreature.GetInstanceData()) - { - if ((pInstance.GetData(TYPE_CHESS) == IN_PROGRESS && player.GetTeam() == HORDE) || pInstance.GetData(TYPE_CHESS) == SPECIAL) - player.ADD_GOSSIP_ITEM_ID(GOSSIP_ICON_CHAT, GOSSIP_ITEM_ORC_NECROLYTE, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1); - } - - player.SEND_GOSSIP_MENU(GOSSIP_MENU_ID_NECROLYTE, pCreature.GetObjectGuid()); - return true; - } - } -} diff --git a/Scripts/Northrend/IcecrownCitadel/ProfessorPutricide.cs b/Scripts/Northrend/IcecrownCitadel/ProfessorPutricide.cs deleted file mode 100644 index bc519edd4..000000000 --- a/Scripts/Northrend/IcecrownCitadel/ProfessorPutricide.cs +++ /dev/null @@ -1,1524 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using Game.Entities; -using Game.AI; -using Game.Scripting; -using Game.Spells; -using Framework.Constants; -using Game.Maps; -using Game.DataStorage; - -namespace Scripts.Northrend.IcecrownCitadel -{ - using static IccConst; - using static ProfessorPutricideConst; - - class ProfessorPutricideConst - { - // Festergut - public const uint EventFestergutDies = 1; - public const uint EventFestergutGoo = 2; - - public const uint SayFestergutGaseousBlight = 0; - public const uint SayFestergutDeath = 1; - - public const uint SpellReleaseGasVisual = 69125; - public const uint SpellGaseousBlightLarge = 69157; - public const uint SpellGaseousBlightMedium = 69162; - public const uint SpellGaseousBlightSmall = 69164; - public const uint SpellMalleableGooH = 72296; - public const uint SpellMalleableGooSummon = 72299; - - - // Rotface - public const uint EventRotfaceDies = 3; - public const uint EventRotfaceOozeFlood = 5; - - public const uint SayRotfaceOozeFlood = 2; - public const uint SayRotfaceDeath = 3; - - // Professor Putricide - public const uint EventBerserk = 6; // All Phases - public const uint EventSlimePuddle = 7; // All Phases - public const uint EventUnstableExperiment = 8; // P1 && P2 - public const uint EventTearGas = 9; // Phase Transition Not Heroic - public const uint EventResumeAttack = 10; - public const uint EventMalleableGoo = 11; - public const uint EventChokingGasBomb = 12; - public const uint EventUnboundPlague = 13; - public const uint EventMutatedPlague = 14; - public const uint EventPhaseTransition = 15; - - public const uint SayAggro = 4; - public const uint EmoteUnstableExperiment = 5; - public const uint SayPhaseTransitionHeroic = 6; - public const uint SayTransform1 = 7; - public const uint SayTransform2 = 8; // Always Used For Phase2 Change; Do Not Group With public const uint SayTransform1 - public const uint EmoteMalleableGoo = 9; - public const uint EmoteChokingGasBomb = 10; - public const uint SayKill = 11; - public const uint SayBerserk = 12; - public const uint SayDeath = 13; - - public const uint SpellSlimePuddleTrigger = 70341; - public const uint SpellMalleableGoo = 70852; - public const uint SpellUnstableExperiment = 70351; - public const uint SpellTearGas = 71617; // Phase Transition - public const uint SpellTearGasCreature = 71618; - public const uint SpellTearGasCancel = 71620; - public const uint SpellTearGasPeriodicTrigger = 73170; - public const uint SpellCreateConcoction = 71621; - public const uint SpellGuzzlePotions = 71893; - public const uint SpellOozeTankProtection = 71770; // Protects The Tank - public const uint SpellChokingGasBomb = 71255; - public const uint SpellOozeVariable = 74118; - public const uint SpellGasVariable = 74119; - public const uint SpellUnboundPlague = 70911; - public const uint SpellUnboundPlagueSearcher = 70917; - public const uint SpellPlagueSickness = 70953; - public const uint SpellUnboundPlagueProtection = 70955; - public const uint SpellMutatedPlague = 72451; - public const uint SpellMutatedPlagueClear = 72618; - - // Slime Puddle - public const uint SpellGrowStacker = 70345; - public const uint SpellGrow = 70347; - public const uint SpellSlimePuddleAura = 70343; - - // Gas Cloud - public const uint SpellGaseousBloatProc = 70215; - public const uint SpellGaseousBloat = 70672; - public const uint SpellGaseousBloatProtection = 70812; - public const uint SpellExpungedGas = 70701; - - // Volatile Ooze - public const uint SpellOozeEruption = 70492; - public const uint SpellVolatileOozeAdhesive = 70447; - public const uint SpellOozeEruptionSearchPeriodic = 70457; - public const uint SpellVolatileOozeProtection = 70530; - - // Choking Gas Bomb - public const uint SpellChokingGasBombPeriodic = 71259; - public const uint SpellChokingGasExplosionTrigger = 71280; - - // Mutated Abomination Vehicle - public const uint SpellAbominationVehiclePowerDrain = 70385; - public const uint SpellMutatedTransformation = 70311; - public const uint SpellMutatedTransformationDamage = 70405; - public const uint SpellMutatedTransformationName = 72401; - - // Unholy Infusion - public const uint SpellUnholyInfusionCredit = 71518; - - public static Position festergutWatchPos = new Position(4324.820f, 3166.03f, 389.3831f, 3.316126f); //emote 432 (release gas) - public static Position rotfaceWatchPos = new Position(4390.371f, 3164.50f, 389.3890f, 5.497787f); //emote 432 (release ooze) - public static Position tablePos = new Position(4356.190f, 3262.90f, 389.4820f, 1.483530f); - - //Points - public const uint PointFestergut = 366260; - public const uint PointRotface = 366270; - public const uint PointTable = 366780; - - //Data - public const uint DataExperimentStage = 1; - public const uint DataPhase = 2; - public const uint DataAbomination = 3; - } - - enum Phases - { - None = 0, - Festergut = 1, - Rotface = 2, - Combat1 = 4, - Combat2 = 5, - Combat3 = 6 - } - - class AbominationDespawner - { - public AbominationDespawner(Unit owner) - { - _owner = owner; - } - - public bool Invoke(ObjectGuid guid) - { - Unit summon = Global.ObjAccessor.GetUnit(_owner, guid); - if (summon) - { - if (summon.GetEntry() == NPC_MUTATED_ABOMINATION_10 || summon.GetEntry() == NPC_MUTATED_ABOMINATION_25) - { - Vehicle veh = summon.GetVehicleKit(); - if (veh) - veh.RemoveAllPassengers(); // also despawns the vehicle - - // Found unit is Mutated Abomination, remove it - return true; - } - - // Found unit is not Mutated Abomintaion, leave it - return false; - } - - // No unit found, remove from SummonList - return true; - } - - Unit _owner; - } - - struct RotfaceHeightCheck - { - public RotfaceHeightCheck(Creature rotface) - { - _rotface = rotface; - } - - public bool Invoke(Creature stalker) - { - return stalker.GetPositionZ() < _rotface.GetPositionZ() + 5.0f; - } - - Creature _rotface; - } - - class boss_professor_putricide : CreatureScript - { - public boss_professor_putricide() : base("boss_professor_putricide") { } - - class boss_professor_putricideAI : BossAI - { - public boss_professor_putricideAI(Creature creature) : base(creature, DataTypes.ProfessorPutricide) - { - _baseSpeed = creature.GetSpeedRate(UnitMoveType.Run); - _experimentState = EXPERIMENT_STATE_OOZE; - - _phase = Phases.None; - _oozeFloodStage = 0; - } - - public override void Reset() - { - if (!(_events.IsInPhase((byte)Phases.Rotface) || _events.IsInPhase((byte)Phases.Festergut))) - instance.SetBossState(DataTypes.ProfessorPutricide, EncounterState.NotStarted); - instance.SetData(DataTypes.NauseaAchievement, 1); - - _events.Reset(); - summons.DespawnAll(); - SetPhase(Phases.Combat1); - _experimentState = EXPERIMENT_STATE_OOZE; - me.SetReactState(ReactStates.Defensive); - me.SetWalk(false); - if (me.GetMotionMaster().GetCurrentMovementGeneratorType() == MovementGeneratorType.Point) - me.GetMotionMaster().MovementExpired(); - - if (instance.GetBossState(DATA_ROTFACE) == EncounterState.Done && instance.GetBossState(DataTypes.Festergut) == EncounterState.Done) - me.RemoveFlag(UnitFields.Flags, UnitFlags.ImmuneToPc | UnitFlags.NotSelectable); - } - - public override void EnterCombat(Unit who) - { - if (_events.IsInPhase((byte)Phases.Rotface) || _events.IsInPhase((byte)Phases.Festergut)) - return; - - if (!instance.CheckRequiredBosses(DataTypes.ProfessorPutricide, who.ToPlayer())) - { - EnterEvadeMode(); - instance.DoCastSpellOnPlayers(LIGHT_S_HAMMER_TELEPORT); - return; - } - - me.setActive(true); - _events.Reset(); - _events.ScheduleEvent(EVENT_BERSERK, 600000); - _events.ScheduleEvent(EVENT_SLIME_PUDDLE, 10000); - _events.ScheduleEvent(EVENT_UNSTABLE_EXPERIMENT, RandomHelper.URand(30000, 35000)); - if (IsHeroic()) - _events.ScheduleEvent(EVENT_UNBOUND_PLAGUE, 20000); - - SetPhase(Phases.Combat1); - Talk(SAY_AGGRO); - DoCast(me, SPELL_OOZE_TANK_PROTECTION, true); - DoZoneInCombat(me); - - instance.SetBossState(DataTypes.ProfessorPutricide, EncounterState.InProgress); - } - - public override void JustReachedHome() - { - _JustReachedHome(); - me.SetWalk(false); - if (_events.IsInPhase((byte)Phases.Combat1) || _events.IsInPhase((byte)Phases.Combat2) || _events.IsInPhase((byte)Phases.Combat3)) - instance.SetBossState(DataTypes.ProfessorPutricide, EncounterState.Fail); - } - - public override void KilledUnit(Unit victim) - { - if (victim.IsPlayer()) - Talk(SAY_KILL); - } - - public override void JustDied(Unit killer) - { - _JustDied(); - Talk(SAY_DEATH); - - if (Is25ManRaid() && me.HasAura(SPELL_SHADOWS_FATE)) - DoCastAOE(SPELL_UNHOLY_INFUSION_CREDIT, true); - - DoCast(SPELL_MUTATED_PLAGUE_CLEAR); - } - - public override void JustSummoned(Creature summon) - { - summons.Summon(summon); - switch (summon.GetEntry()) - { - case NPC_MALLEABLE_OOZE_STALKER: - DoCast(summon, SPELL_MALLEABLE_GOO_H); - return; - case NPC_GROWING_OOZE_PUDDLE: - summon.CastSpell(summon, SPELL_GROW_STACKER, true); - summon.CastSpell(summon, SPELL_SLIME_PUDDLE_AURA, true); - // blizzard casts this spell 7 times initially (confirmed in sniff) - for (byte i = 0; i < 7; ++i) - summon.CastSpell(summon, SPELL_GROW, true); - break; - case NPC_GAS_CLOUD: - // no possible aura seen in sniff adding the aurastate - summon.ModifyAuraState(AuraStateType.Unk22, true); - summon.CastSpell(summon, SPELL_GASEOUS_BLOAT_PROC, true); - summon.ApplySpellImmune(0, SpellImmunity.Effect, SpellEffectName.KnockBack, true); - summon.SetReactState(ReactStates.Passive); - break; - case NPC_VOLATILE_OOZE: - // no possible aura seen in sniff adding the aurastate - summon.ModifyAuraState(AuraStateType.Unk19, true); - summon.CastSpell(summon, SPELL_OOZE_ERUPTION_SEARCH_PERIODIC, true); - summon.ApplySpellImmune(0, SpellImmunity.Effect, SpellEffectName.KnockBack, true); - summon.SetReactState(ReactStates.Passive); - break; - case NPC_CHOKING_GAS_BOMB: - summon.CastSpell(summon, SPELL_CHOKING_GAS_BOMB_PERIODIC, true); - summon.CastSpell(summon, SPELL_CHOKING_GAS_EXPLOSION_TRIGGER, true); - return; - case NPC_MUTATED_ABOMINATION_10: - case NPC_MUTATED_ABOMINATION_25: - return; - default: - break; - } - - if (me.IsInCombat()) - DoZoneInCombat(summon); - } - - public override void DamageTaken(Unit attacker, ref uint damage) - { - switch (_phase) - { - case Phases.Combat1: - if (HealthAbovePct(80)) - return; - me.SetReactState(ReactStates.Passive); - DoAction(SharedActions.ChangePhase); - break; - case Phases.Combat2: - if (HealthAbovePct(35)) - return; - me.SetReactState(ReactStates.Passive); - DoAction(SharedActions.ChangePhase); - break; - default: - break; - } - } - - public override void MovementInform(MovementGeneratorType type, uint id) - { - if (type != MovementGeneratorType.Point) - return; - switch (id) - { - case POINT_FESTERGUT: - instance.SetBossState(DataTypes.Festergut, EncounterState.InProgress); // needed here for delayed gate close - me.SetSpeed(UnitMoveType.Run, _baseSpeed, true); - DoAction(SharedActions.FestergutGas); - Creature festergut = ObjectAccessor.GetCreature(me, instance.GetGuidData(DataTypes.Festergut)); - if (festergut) - festergut.CastSpell(festergut, SPELL_GASEOUS_BLIGHT_LARGE, false, null, null, festergut.GetGUID()); - break; - case POINT_ROTFACE: - instance.SetBossState(DATA_ROTFACE, EncounterState.InProgress); // needed here for delayed gate close - me.SetSpeed(UnitMoveType.Run, _baseSpeed, true); - DoAction(SharedActions.RotfaceOoze); - _events.ScheduleEvent(EVENT_ROTFACE_OOZE_FLOOD, 25000, 0, Phases.Rotface); - break; - case POINT_TABLE: - // stop attack - me.GetMotionMaster().MoveIdle(); - me.SetSpeed(UnitMoveType.Run, _baseSpeed, true); - GameObject table = ObjectAccessor.GetGameObject(me, instance.GetGuidData(DataTypes.PutricideTable)); - if (table) - me.SetFacingToObject(table); - // operating on new phase already - switch (_phase) - { - case Phases.Combat2: - { - SpellInfo spell = Global.SpellMgr.GetSpellInfo(SPELL_CREATE_CONCOCTION); - DoCast(me, SPELL_CREATE_CONCOCTION); - _events.ScheduleEvent(EVENT_PHASE_TRANSITION, spell.CalcCastTime() + 100); - break; - } - case Phases.Combat3: - { - SpellInfo spell = Global.SpellMgr.GetSpellInfo(SPELL_GUZZLE_POTIONS); - DoCast(me, SPELL_GUZZLE_POTIONS); - _events.ScheduleEvent(EVENT_PHASE_TRANSITION, spell.CalcCastTime() + 100); - break; - } - default: - break; - } - break; - default: - break; - } - } - - public override void DoAction(int action) - { - switch (action) - { - case SharedActions.FestergutCombat: - SetPhase(Phases.Festergut); - me.SetSpeed(UnitMoveType.Run, _baseSpeed * 2.0f, true); - me.GetMotionMaster().MovePoint(POINT_FESTERGUT, ProfessorPutricideConst.festergutWatchPos); - me.SetReactState(ReactStates.Passive); - DoZoneInCombat(me); - if (IsHeroic()) - _events.ScheduleEvent(EVENT_FESTERGUT_GOO, RandomHelper.URand(13000, 18000), 0, Phases.Festergut); - break; - case SharedActions.FestergutGas: - Talk(SAY_FESTERGUT_GASEOUS_BLIGHT); - DoCast(me, SPELL_RELEASE_GAS_VISUAL, true); - break; - case SharedActions.FestergutDeath: - _events.ScheduleEvent(EVENT_FESTERGUT_DIES, 4000, 0, Phases.Festergut); - break; - case SharedActions.RotfaceCombat: - { - SetPhase(Phases.Rotface); - me.SetSpeed(UnitMoveType.Run, _baseSpeed * 2.0f, true); - me.GetMotionMaster().MovePoint(POINT_ROTFACE, rotfaceWatchPos); - me.SetReactState(ReactStates.Passive); - _oozeFloodStage = 0; - DoZoneInCombat(me); - // init random sequence of floods - Creature rotface = ObjectAccessor.GetCreature(me, instance.GetGuidData(DATA_ROTFACE)); - if (rotface) - { - List list = new List(); - rotface.GetCreatureListWithEntryInGrid(list, NPC_PUDDLE_STALKER, 50.0f); - list.RemoveAll(new RotfaceHeightCheck(rotface).Invoke); - if (list.Count() > 4) - { - list.Sort(new ObjectDistanceOrderPred(rotface)); - list.RemoveRange(4, list.Count - 1); - } - - byte i = 0; - while (!list.Empty()) - { - var itr = list[RandomHelper.IRand(0, list.Count - 1)]; - _oozeFloodDummyGUIDs[i++] = itr.GetGUID(); - list.Remove(itr); - } - } - break; - } - case SharedActions.RotfaceOoze: - Talk(SAY_ROTFACE_OOZE_FLOOD); - Creature dummy = ObjectAccessor.GetCreature(me, _oozeFloodDummyGUIDs[_oozeFloodStage]); - if (dummy) - dummy.CastSpell(dummy, oozeFloodSpells[_oozeFloodStage], true, null, null, me.GetGUID()); // cast from self for LoS (with prof's GUID for logs) - if (++_oozeFloodStage == 4) - _oozeFloodStage = 0; - break; - case SharedActions.RotfaceDeath: - _events.ScheduleEvent(EVENT_ROTFACE_DIES, 4500, 0, Phases.Rotface); - break; - case SharedActions.ChangePhase: - me.SetSpeed(UnitMoveType.Run, _baseSpeed * 2.0f, true); - _events.DelayEvents(30000); - me.AttackStop(); - if (!IsHeroic()) - { - DoCast(me, SPELL_TEAR_GAS); - _events.ScheduleEvent(EVENT_TEAR_GAS, 2500); - } - else - { - Talk(SAY_PHASE_TRANSITION_HEROIC); - DoCast(me, SPELL_UNSTABLE_EXPERIMENT, true); - DoCast(me, SPELL_UNSTABLE_EXPERIMENT, true); - // cast variables - if (Is25ManRaid()) - { - List targetList = new List(); - { - var threatlist = me.GetThreatManager().getThreatList(); - foreach (var itr in threatlist) - if (itr.getTarget().IsPlayer()) - targetList.Add(itr.getTarget()); - } - - int half = targetList.Count / 2; - // half gets ooze variable - while (half < targetList.Count) - { - var itr = targetList[RandomHelper.IRand(0, targetList.Count - 1)]; - itr.CastSpell(itr, SPELL_OOZE_VARIABLE, true); - targetList.Remove(itr); - } - // and half gets gas - foreach (var itr in targetList) - itr.CastSpell(itr, SPELL_GAS_VARIABLE, true); - } - me.GetMotionMaster().MovePoint(POINT_TABLE, ProfessorPutricideConst.tablePos); - } - switch (_phase) - { - case Phases.Combat1: - SetPhase(Phases.Combat2); - _events.ScheduleEvent(EVENT_MALLEABLE_GOO, RandomHelper.URand(21000, 26000)); - _events.ScheduleEvent(EVENT_CHOKING_GAS_BOMB, RandomHelper.URand(35000, 40000)); - break; - case Phases.Combat2: - SetPhase(Phases.Combat3); - _events.ScheduleEvent(EVENT_MUTATED_PLAGUE, 25000); - _events.CancelEvent(EVENT_UNSTABLE_EXPERIMENT); - break; - default: - break; - } - break; - default: - break; - } - } - - public override uint GetData(uint type) - { - switch (type) - { - case DataExperimentStage: - return _experimentState ? 1 : 0u; - case DataPhase: - return (uint)_phase; - case DataAbomination: - return (summons.HasEntry(NPC_MUTATED_ABOMINATION_10) || summons.HasEntry(NPC_MUTATED_ABOMINATION_25)) ? 1 : 0u; - default: - break; - } - - return 0; - } - - public override void SetData(uint id, uint data) - { - if (id == DataExperimentStage) - _experimentState = data != 0; - } - - public override void UpdateAI(uint diff) - { - if ((!(_events.IsInPhase((byte)Phases.Rotface) || _events.IsInPhase((byte)Phases.Festergut)) && !UpdateVictim()) || !CheckInRoom()) - return; - - _events.Update(diff); - - if (me.HasUnitState(UnitState.Casting)) - return; - _events.ExecuteEvents(eventId => - { - switch (eventId) - { - case EVENT_FESTERGUT_DIES: - Talk(SAY_FESTERGUT_DEATH); - EnterEvadeMode(); - break; - case EVENT_FESTERGUT_GOO: - me.CastCustomSpell(SPELL_MALLEABLE_GOO_SUMMON, SpellValueMod.MaxTargets, 1, null, true); - _events.ScheduleEvent(EVENT_FESTERGUT_GOO, (Is25ManRaid() ? 10000 : 30000) + RandomHelper.URand(0, 5000), 0, Phases.Festergut); - break; - case EVENT_ROTFACE_DIES: - Talk(SAY_ROTFACE_DEATH); - EnterEvadeMode(); - break; - case EVENT_ROTFACE_OOZE_FLOOD: - DoAction(SharedActions.RotfaceOoze); - _events.ScheduleEvent(EVENT_ROTFACE_OOZE_FLOOD, 25000, 0, Phases.Rotface); - break; - case EVENT_BERSERK: - Talk(SAY_BERSERK); - DoCast(me, SPELL_BERSERK2); - break; - case EVENT_SLIME_PUDDLE: - { - List targets = SelectTargetList(2, SelectAggroTarget.Random, 0.0f, true); - if (!targets.Empty()) - { - foreach (var itr in targets) - DoCast(itr, SPELL_SLIME_PUDDLE_TRIGGER); - } - _events.ScheduleEvent(EVENT_SLIME_PUDDLE, 35000); - break; - } - case EVENT_UNSTABLE_EXPERIMENT: - Talk(EMOTE_UNSTABLE_EXPERIMENT); - DoCast(me, SPELL_UNSTABLE_EXPERIMENT); - _events.ScheduleEvent(EVENT_UNSTABLE_EXPERIMENT, RandomHelper.URand(35000, 40000)); - break; - case EVENT_TEAR_GAS: - me.GetMotionMaster().MovePoint(POINT_TABLE, ProfessorPutricideConst.tablePos); - DoCast(me, SPELL_TEAR_GAS_PERIODIC_TRIGGER, true); - break; - case EVENT_RESUME_ATTACK: - me.SetReactState(ReactStates.Defensive); - AttackStart(me.GetVictim()); - // remove Tear Gas - me.RemoveAurasDueToSpell(SPELL_TEAR_GAS_PERIODIC_TRIGGER); - instance.DoRemoveAurasDueToSpellOnPlayers(71615); - DoCastAOE(SPELL_TEAR_GAS_CANCEL); - instance.DoRemoveAurasDueToSpellOnPlayers(SPELL_GAS_VARIABLE); - instance.DoRemoveAurasDueToSpellOnPlayers(SPELL_OOZE_VARIABLE); - break; - case EVENT_MALLEABLE_GOO: - if (Is25ManRaid()) - { - List targets = SelectTargetList(2, SelectAggroTarget.Random, -7.0f, true); - if (!targets.Empty()) - { - Talk(EMOTE_MALLEABLE_GOO); - foreach (var itr in targets) - DoCast(itr, SPELL_MALLEABLE_GOO); - } - } - else - { - Unit target = SelectTarget(SelectAggroTarget.Random, 1, -7.0f, true); - if (target) - { - Talk(EMOTE_MALLEABLE_GOO); - DoCast(target, SPELL_MALLEABLE_GOO); - } - } - _events.ScheduleEvent(EVENT_MALLEABLE_GOO, RandomHelper.URand(25000, 30000)); - break; - case EVENT_CHOKING_GAS_BOMB: - Talk(EMOTE_CHOKING_GAS_BOMB); - DoCast(me, SPELL_CHOKING_GAS_BOMB); - _events.ScheduleEvent(EVENT_CHOKING_GAS_BOMB, RandomHelper.URand(35000, 40000)); - break; - case EVENT_UNBOUND_PLAGUE: - { - Unit target = SelectTarget(SelectAggroTarget.Random, 0, new NonTankTargetSelector(me)); - if (target) - { - DoCast(target, SPELL_UNBOUND_PLAGUE); - DoCast(target, SPELL_UNBOUND_PLAGUE_SEARCHER); - } - _events.ScheduleEvent(EVENT_UNBOUND_PLAGUE, 90000); - } - break; - case EVENT_MUTATED_PLAGUE: - DoCastVictim(SPELL_MUTATED_PLAGUE); - _events.ScheduleEvent(EVENT_MUTATED_PLAGUE, 10000); - break; - case EVENT_PHASE_TRANSITION: - { - switch (_phase) - { - case Phases.Combat2: - { - Creature face = me.FindNearestCreature(NPC_TEAR_GAS_TARGET_STALKER, 50.0f); - if (face) - me.SetFacingToObject(face); - me.HandleEmoteCommand(EMOTE_ONESHOT_KNEEL); - Talk(SAY_TRANSFORM_1); - _events.ScheduleEvent(EVENT_RESUME_ATTACK, 5500, 0, Phases.Combat2); - } - break; - case Phases.Combat3: - { Creature face = me.FindNearestCreature(NPC_TEAR_GAS_TARGET_STALKER, 50.0f); - if (face) - me.SetFacingToObject(face); - me.HandleEmoteCommand(EMOTE_ONESHOT_KNEEL); - Talk(SAY_TRANSFORM_2); - summons.DespawnIf(new AbominationDespawner(me).Invoke); - _events.ScheduleEvent(EVENT_RESUME_ATTACK, 8500, 0, Phases.Combat3); - } - break; - default: - break; - } - } - break; - default: - break; - } - }); - - DoMeleeAttackIfReady(); - } - - void SetPhase(Phases newPhase) - { - _phase = newPhase; - _events.SetPhase((byte)newPhase); - } - - ObjectGuid[] _oozeFloodDummyGUIDs = new ObjectGuid[4]; - Phases _phase; // external of EventMap because event phase gets reset on evade - float _baseSpeed; - byte _oozeFloodStage; - bool _experimentState; - } - - public override CreatureAI GetAI(Creature creature) - { - return GetIcecrownCitadelAI(creature); - } - } - - class npc_putricide_oozeAI : ScriptedAI - { - public npc_putricide_oozeAI(Creature creature, uint hitTargetSpellId) : base(creature) - { - _hitTargetSpellId = hitTargetSpellId; - _newTargetSelectTimer = 0; - - } - - public override void SpellHitTarget(Unit target, SpellInfo spell) - { - if (_newTargetSelectTimer == 0 && spell.Id == _hitTargetSpellId) - _newTargetSelectTimer = 1000; - } - - public override void SpellHit(Unit caster, SpellInfo spell) - { - if (spell.Id == SPELL_TEAR_GAS_CREATURE) - _newTargetSelectTimer = 1000; - } - - public override void UpdateAI(uint diff) - { - if (!UpdateVictim() && _newTargetSelectTimer == 0) - return; - - if (_newTargetSelectTimer == 0 && !me.IsNonMeleeSpellCast(false, false, true, false, true)) - _newTargetSelectTimer = 1000; - - DoMeleeAttackIfReady(); - - if (_newTargetSelectTimer == 0) - return; - - if (me.HasAura(SPELL_TEAR_GAS_CREATURE)) - return; - - if (_newTargetSelectTimer <= diff) - { - _newTargetSelectTimer = 0; - CastMainSpell(); - } - else - _newTargetSelectTimer -= diff; - } - - public virtual void CastMainSpell() { } - - uint _hitTargetSpellId; - uint _newTargetSelectTimer; - } - - class npc_volatile_ooze : CreatureScript - { - public npc_volatile_ooze() : base("npc_volatile_ooze") { } - - class npc_volatile_oozeAI : npc_putricide_oozeAI - { - public npc_volatile_oozeAI(Creature creature) : base(creature, SPELL_OOZE_ERUPTION) - { - } - - public override void CastMainSpell() - { - me.CastSpell(me, ProfessorPutricideConst.SpellVolatileOozeAdhesive, false); - } - } - - public override CreatureAI GetAI(Creature creature) - { - return GetIcecrownCitadelAI(creature); - } - } - - class npc_gas_cloud : CreatureScript - { - public npc_gas_cloud() : base("npc_gas_cloud") { } - - class npc_gas_cloudAI : npc_putricide_oozeAI - { - public npc_gas_cloudAI(Creature creature) : base(creature, SPELL_EXPUNGED_GAS) - { - _newTargetSelectTimer = 0; - } - - public override void CastMainSpell() - { - me.CastCustomSpell(SPELL_GASEOUS_BLOAT, SpellValueMod.AuraStack, 10, me, false); - } - - uint _newTargetSelectTimer; - } - - public override CreatureAI GetAI(Creature creature) - { - return GetIcecrownCitadelAI(creature); - } - } - - class spell_putricide_gaseous_bloat : SpellScriptLoader - { - public spell_putricide_gaseous_bloat() : base("spell_putricide_gaseous_bloat") { } - - class spell_putricide_gaseous_bloat_AuraScript : AuraScript - { - void HandleExtraEffect(AuraEffect aurEff) - { - Unit target = GetTarget(); - Unit caster = GetCaster(); - if (caster) - { - target.RemoveAuraFromStack(GetSpellInfo().Id, GetCasterGUID()); - if (!target.HasAura(GetId())) - caster.CastCustomSpell(SPELL_GASEOUS_BLOAT, SpellValueMod.AuraStack, 10, caster, false); - } - } - - public override void Register() - { - OnEffectPeriodic.Add(new EffectPeriodicHandler(HandleExtraEffect, 0, SPELL_AURA_PERIODIC_DAMAGE)); - } - } - - public override AuraScript GetAuraScript() - { - return new spell_putricide_gaseous_bloat_AuraScript(); - } - } - - class spell_putricide_ooze_channel : SpellScriptLoader - { - public spell_putricide_ooze_channel() : base("spell_putricide_ooze_channel") { } - - class spell_putricide_ooze_channel_SpellScript : SpellScript - { - public spell_putricide_ooze_channel_SpellScript() - { - _target = null; - } - - public override bool Validate(SpellInfo spell) - { - if (spell.ExcludeTargetAuraSpell == 0) - return false; - if (!Global.SpellMgr.HasSpellInfo(spell.ExcludeTargetAuraSpell)) - return false; - return true; - } - - // set up initial variables and check if caster is creature - // this will let use safely use ToCreature() casts in entire script - public override bool Load() - { - return GetCaster().IsTypeId(TypeId.Unit); - } - - void SelectTarget(List targets) - { - if (targets.Empty()) - { - FinishCast(SpellCastResult.NoValidTargets); - GetCaster().ToCreature().DespawnOrUnsummon(1); // despawn next update - return; - } - - WorldObject target = targets.PickRandom(); - targets.Clear(); - targets.Add(target); - _target = target; - } - - void SetTarget(List targets) - { - targets.Clear(); - if (_target) - targets.Add(_target); - } - - void StartAttack() - { - GetCaster().ClearUnitState(UnitState.Casting); - GetCaster().DeleteThreatList(); - GetCaster().ToCreature().GetAI().AttackStart(GetHitUnit()); - GetCaster().AddThreat(GetHitUnit(), 500000000.0f); // value seen in sniff - } - - public override void Register() - { - OnObjectAreaTargetSelect.Add(new ObjectAreaTargetSelectHandler(SelectTarget, 0, Targets.UnitSrcAreaEnemy)); - OnObjectAreaTargetSelect.Add(new ObjectAreaTargetSelectHandler(SetTarget, 1, Targets.UnitSrcAreaEnemy)); - OnObjectAreaTargetSelect.Add(new ObjectAreaTargetSelectHandler(SetTarget, 2, Targets.UnitSrcAreaEnemy)); - AfterHit.Add(new HitHandler(StartAttack)); - } - - WorldObject _target; - } - - public override SpellScript GetSpellScript() - { - return new spell_putricide_ooze_channel_SpellScript(); - } - } - - class ExactDistanceCheck - { - public ExactDistanceCheck(Unit source, float dist) - { - _source = source; - _dist = dist; - } - - public bool Invoke(WorldObject unit) - { - return _source.GetExactDist2d(unit) > _dist; - } - - Unit _source; - float _dist; - } - - class spell_putricide_slime_puddle : SpellScriptLoader - { - public spell_putricide_slime_puddle() : base("spell_putricide_slime_puddle") { } - - class spell_putricide_slime_puddle_SpellScript : SpellScript - { - void ScaleRange(List targets) - { - targets.RemoveAll(new ExactDistanceCheck(GetCaster(), 2.5f * GetCaster().GetObjectScale()).Invoke); - } - - public override void Register() - { - OnObjectAreaTargetSelect.Add(new ObjectAreaTargetSelectHandler(ScaleRange, 0, Targets.UnitDestAreaEntry)); - OnObjectAreaTargetSelect.Add(new ObjectAreaTargetSelectHandler(ScaleRange, 1, Targets.UnitDestAreaEntry)); - } - } - - public override SpellScript GetSpellScript() - { - return new spell_putricide_slime_puddle_SpellScript(); - } - } - - // this is here only because on retail you dont actually enter HEROIC mode for ICC - class spell_putricide_slime_puddle_aura : SpellScriptLoader - { - public spell_putricide_slime_puddle_aura() : base("spell_putricide_slime_puddle_aura") { } - - class spell_putricide_slime_puddle_aura_SpellScript : SpellScript - { - void ReplaceAura() - { - Unit target = GetHitUnit(); - if (target) - GetCaster().AddAura(Convert.ToBoolean((int)GetCaster().GetMap().GetSpawnMode() & 1) ? 72456 : 70346u, target); - } - - public override void Register() - { - OnHit.Add(new HitHandler(ReplaceAura)); - } - } - - public override SpellScript GetSpellScript() - { - return new spell_putricide_slime_puddle_aura_SpellScript(); - } - } - - class spell_putricide_unstable_experiment : SpellScriptLoader - { - public spell_putricide_unstable_experiment() : base("spell_putricide_unstable_experiment") { } - - class spell_putricide_unstable_experiment_SpellScript : SpellScript - { - void HandleScript(uint effIndex) - { - PreventHitDefaultEffect(effIndex); - if (!GetCaster().IsTypeId(TypeId.Unit)) - return; - - Creature creature = GetCaster().ToCreature(); - - uint stage = creature.GetAI().GetData(DataExperimentStage); - creature.GetAI().SetData(DataExperimentStage, stage ^ 1); - - Creature target = null; - List creList = new List(); - GetCaster().GetCreatureListWithEntryInGrid(creList, NPC_ABOMINATION_WING_MAD_SCIENTIST_STALKER, 200.0f); - // 2 of them are spawned at green place - weird trick blizz - foreach (var itr in creList) - { - target = itr; - List tmp = new List(); - target.GetCreatureListWithEntryInGrid(tmp, NPC_ABOMINATION_WING_MAD_SCIENTIST_STALKER, 10.0f); - if ((stage == 0 && tmp.Count > 1) || (stage != 0 && tmp.Count == 1)) - break; - } - - GetCaster().CastSpell(target, (uint)GetSpellInfo().GetEffect(stage).CalcValue(), true, null, null, GetCaster().GetGUID()); - } - - public override void Register() - { - OnEffectHitTarget.Add(new EffectHandler(HandleScript, 0, SpellEffectName.ScriptEffect)); - } - } - - public override SpellScript GetSpellScript() - { - return new spell_putricide_unstable_experiment_SpellScript(); - } - } - - class spell_putricide_ooze_eruption_searcher : SpellScriptLoader - { - public spell_putricide_ooze_eruption_searcher() : base("spell_putricide_ooze_eruption_searcher") { } - - class spell_putricide_ooze_eruption_searcher_SpellScript : SpellScript - { - void HandleDummy(uint effIndex) - { - if (GetHitUnit().HasAura(SPELL_VOLATILE_OOZE_ADHESIVE)) - { - GetHitUnit().RemoveAurasDueToSpell(SPELL_VOLATILE_OOZE_ADHESIVE, GetCaster().GetGUID(), 0, AuraRemoveMode.EnemySpell); - GetCaster().CastSpell(GetHitUnit(), SPELL_OOZE_ERUPTION, true); - } - } - - public override void Register() - { - OnEffectHitTarget.Add(new EffectHandler(HandleDummy, 0, SpellEffectName.Dummy)); - } - } - - public override SpellScript GetSpellScript() - { - return new spell_putricide_ooze_eruption_searcher_SpellScript(); - } - } - - class spell_putricide_choking_gas_bomb : SpellScriptLoader - { - public spell_putricide_choking_gas_bomb() : base("spell_putricide_choking_gas_bomb") { } - - class spell_putricide_choking_gas_bomb_SpellScript : SpellScript - { - void HandleScript(uint effIndex) - { - uint skipIndex = RandomHelper.URand(0, 2); - foreach (SpellEffectInfo effect in GetSpellInfo().GetEffectsForDifficulty(GetCaster().GetMap().GetDifficultyID())) - { - if (effect == null || effect.EffectIndex == skipIndex) - continue; - - uint spellId = (uint)effect.CalcValue(); - GetCaster().CastSpell(GetCaster(), spellId, true, null, null, GetCaster().GetGUID()); - } - } - - public override void Register() - { - OnEffectHitTarget.Add(new EffectHandler(HandleScript, 0, SpellEffectName.ScriptEffect)); - } - } - - public override SpellScript GetSpellScript() - { - return new spell_putricide_choking_gas_bomb_SpellScript(); - } - } - - class spell_putricide_unbound_plague : SpellScriptLoader - { - public spell_putricide_unbound_plague() : base("spell_putricide_unbound_plague") { } - - class spell_putricide_unbound_plague_SpellScript : SpellScript - { - public override bool Validate(SpellInfo spell) - { - if (!Global.SpellMgr.GetSpellInfo(SPELL_UNBOUND_PLAGUE)) - return false; - if (!Global.SpellMgr.GetSpellInfo(SPELL_UNBOUND_PLAGUE_SEARCHER)) - return false; - return true; - } - - void FilterTargets(List targets) - { - AuraEffect eff = GetCaster().GetAuraEffect(SPELL_UNBOUND_PLAGUE_SEARCHER, 0); - if (eff != null) - { - if (eff.GetTickNumber() < 2) - { - targets.Clear(); - return; - } - } - - - targets.RemoveAll(new UnitAuraCheck(true, SPELL_UNBOUND_PLAGUE)); - targets.RandomResize(1); - } - - void HandleScript(uint effIndex) - { - if (!GetHitUnit()) - return; - - InstanceScript instance = GetCaster().GetInstanceScript(); - if (instance == null) - return; - - if (!GetHitUnit().HasAura(SPELL_UNBOUND_PLAGUE)) - { - Creature professor = ObjectAccessor.GetCreature(GetCaster(), instance.GetGuidData(DataTypes.ProfessorPutricide)); - if (professor) - { - Aura oldPlague = GetCaster().GetAura(SPELL_UNBOUND_PLAGUE, professor.GetGUID()); - if (oldPlague != null) - { - Aura newPlague = professor.AddAura(SPELL_UNBOUND_PLAGUE, GetHitUnit()); - if (newPlague != null) - { - newPlague.SetMaxDuration(oldPlague.GetMaxDuration()); - newPlague.SetDuration(oldPlague.GetDuration()); - oldPlague.Remove(); - GetCaster().RemoveAurasDueToSpell(SPELL_UNBOUND_PLAGUE_SEARCHER); - GetCaster().CastSpell(GetCaster(), SPELL_PLAGUE_SICKNESS, true); - GetCaster().CastSpell(GetCaster(), SPELL_UNBOUND_PLAGUE_PROTECTION, true); - professor.CastSpell(GetHitUnit(), SPELL_UNBOUND_PLAGUE_SEARCHER, true); - } - } - } - } - } - - public override void Register() - { - OnObjectAreaTargetSelect.Add(new ObjectAreaTargetSelectHandler(FilterTargets, 0, Targets.UnitSrcAreaAlly)); - OnEffectHitTarget.Add(new EffectHandler(HandleScript, 0, SpellEffectName.ScriptEffect)); - } - } - - public override SpellScript GetSpellScript() - { - return new spell_putricide_unbound_plague_SpellScript(); - } - } - - class spell_putricide_eat_ooze : SpellScriptLoader - { - public spell_putricide_eat_ooze() : base("spell_putricide_eat_ooze") { } - - class spell_putricide_eat_ooze_SpellScript : SpellScript - { - void SelectTarget(List targets) - { - if (targets.Empty()) - return; - - targets.Sort(new ObjectDistanceOrderPred(GetCaster())); - WorldObject target = targets[0]; - targets.Clear(); - targets.Add(target); - } - - void HandleScript(uint effIndex) - { - Creature target = GetHitCreature(); - if (!target) - return; - - Aura grow = target.GetAura((uint)GetEffectValue()); - if (grow != null) - { - if (grow.GetStackAmount() < 3) - { - target.RemoveAurasDueToSpell(SPELL_GROW_STACKER); - target.RemoveAura(grow); - target.DespawnOrUnsummon(1); - } - else - grow.ModStackAmount(-3); - } - } - - public override void Register() - { - OnEffectHitTarget.Add(new EffectHandler(HandleScript, 0, SpellEffectName.ScriptEffect)); - OnObjectAreaTargetSelect.Add(new ObjectAreaTargetSelectHandler(SelectTarget, 0, Targets.UnitDestAreaEntry)); - } - } - - public override SpellScript GetSpellScript() - { - return new spell_putricide_eat_ooze_SpellScript(); - } - } - - class spell_putricide_mutated_plague : SpellScriptLoader - { - public spell_putricide_mutated_plague() : base("spell_putricide_mutated_plague") { } - - class spell_putricide_mutated_plague_AuraScript : AuraScript - { - void HandleTriggerSpell(AuraEffect aurEff) - { - PreventDefaultAction(); - Unit caster = GetCaster(); - if (!caster) - return; - - uint triggerSpell = GetSpellInfo().GetEffect(aurEff.GetEffIndex()).TriggerSpell; - SpellInfo spell = Global.SpellMgr.GetSpellInfo(triggerSpell); - - int damage = spell.GetEffect(0).CalcValue(caster); - float multiplier = 2.0f; - if (Convert.ToBoolean((int)GetTarget().GetMap().GetSpawnMode() & 1)) - multiplier = 3.0f; - - damage *= (int)Math.Pow(multiplier, GetStackAmount()); - damage = (int)(damage * 1.5f); - - GetTarget().CastCustomSpell(triggerSpell, SpellValueMod.BasePoint0, damage, GetTarget(), true, null, aurEff, GetCasterGUID()); - } - - void OnRemove(AuraEffect aurEff, AuraEffectHandleModes mode) - { - uint healSpell = (uint)GetSpellInfo().GetEffect(0).CalcValue(); - SpellInfo healSpellInfo = Global.SpellMgr.GetSpellInfo(healSpell); - - if (healSpellInfo == null) - return; - - int heal = healSpellInfo.GetEffect(0).CalcValue() * GetStackAmount(); - GetTarget().CastCustomSpell(healSpell, SpellValueMod.BasePoint0, heal, GetTarget(), true, null, null, GetCasterGUID()); - } - - public override void Register() - { - OnEffectPeriodic.Add(new EffectPeriodicHandler(HandleTriggerSpell, 0, SPELL_AURA_PERIODIC_TRIGGER_SPELL)); - AfterEffectRemove.Add(new EffectApplyHandler(OnRemove, 0, SPELL_AURA_PERIODIC_TRIGGER_SPELL, AuraEffectHandleModes.Real)); - } - } - - public override AuraScript GetAuraScript() - { - return new spell_putricide_mutated_plague_AuraScript(); - } - } - - class spell_putricide_mutation_init : SpellScriptLoader - { - public spell_putricide_mutation_init() : base("spell_putricide_mutation_init") { } - - class spell_putricide_mutation_init_SpellScript : SpellScript - { - SpellCastResult CheckRequirementInternal(SpellCustomErrors extendedError) - { - InstanceScript instance = GetExplTargetUnit().GetInstanceScript(); - if (instance == null) - return SpellCastResult.CantDoThatRightNow; - - Creature professor = ObjectAccessor.GetCreature(GetExplTargetUnit(), instance.GetGuidData(DataTypes.ProfessorPutricide)); - if (!professor) - return SpellCastResult.CantDoThatRightNow; - - if (professor.GetAI().GetData(DataPhase) == (uint)Phases.Combat3 || !professor.IsAlive()) - { - extendedError = SpellCustomErrors.AllPotionsUsed; - return SpellCastResult.CustomError; - } - - if (professor.GetAI().GetData(DataAbomination) != 0) - { - extendedError = SpellCustomErrors.TooManyAbominations; - return SpellCastResult.CustomError; - } - - return SpellCastResult.SpellCastOk; - } - - SpellCastResult CheckRequirement() - { - if (!GetExplTargetUnit()) - return SpellCastResult.BadTargets; - - if (!GetExplTargetUnit().IsPlayer()) - return SpellCastResult.TargetNotPlayer; - - SpellCustomErrors extension = SpellCustomErrors.None; - SpellCastResult result = CheckRequirementInternal(extension); - if (result != SpellCastResult.SpellCastOk) - { - Spell.SendCastResult(GetExplTargetUnit().ToPlayer(), GetSpellInfo(), 0, result, extension); - return result; - } - - return SpellCastResult.SpellCastOk; - } - - public override void Register() - { - OnCheckCast.Add(new CheckCastHandler(CheckRequirement)); - } - } - - class spell_putricide_mutation_init_AuraScript : AuraScript - { - void OnRemove(AuraEffect aurEff, AuraEffectHandleModes mode) - { - uint spellId = 70311; - if (Convert.ToBoolean((int)GetTarget().GetMap().GetSpawnMode() & 1)) - spellId = 71503; - - GetTarget().CastSpell(GetTarget(), spellId, true); - } - - public override void Register() - { - AfterEffectRemove.Add(new EffectApplyHandler(OnRemove, 0, SPELL_AURA_DUMMY, AuraEffectHandleModes.Real)); - } - } - - public override SpellScript GetSpellScript() - { - return new spell_putricide_mutation_init_SpellScript(); - } - - public override AuraScript GetAuraScript() - { - return new spell_putricide_mutation_init_AuraScript(); - } - } - - class spell_putricide_mutated_transformation_dismiss : SpellScriptLoader - { - public spell_putricide_mutated_transformation_dismiss() : base("spell_putricide_mutated_transformation_dismiss") { } - - class spell_putricide_mutated_transformation_dismiss_AuraScript : AuraScript - { - void OnRemove(AuraEffect aurEff, AuraEffectHandleModes mode) - { - Vehicle veh = GetTarget().GetVehicleKit(); - if (veh) - veh.RemoveAllPassengers(); - } - - public override void Register() - { - AfterEffectRemove.Add(new EffectApplyHandler(OnRemove, 0, SPELL_AURA_PERIODIC_TRIGGER_SPELL, AuraEffectHandleModes.Real)); - } - } - - public override AuraScript GetAuraScript() - { - return new spell_putricide_mutated_transformation_dismiss_AuraScript(); - } - } - - class spell_putricide_mutated_transformation : SpellScriptLoader - { - public spell_putricide_mutated_transformation() : base("spell_putricide_mutated_transformation") { } - - class spell_putricide_mutated_transformation_SpellScript : SpellScript - { - void HandleSummon(uint effIndex) - { - PreventHitDefaultEffect(effIndex); - Unit caster = GetOriginalCaster(); - if (!caster) - return; - - InstanceScript instance = caster.GetInstanceScript(); - if (instance == null) - return; - - Creature putricide = ObjectAccessor.GetCreature(caster, instance.GetGuidData(DataTypes.ProfessorPutricide)); - if (!putricide) - return; - - if (putricide.GetAI().GetData(DataAbomination) != 0) - { - Player player = caster.ToPlayer(); - if (player) - Spell.SendCastResult(player, GetSpellInfo(), 0, SpellCastResult.CustomError, SpellCustomErrors.TooManyAbominations); - return; - } - - uint entry = (uint)GetSpellInfo().GetEffect(effIndex).MiscValue; - SummonPropertiesRecord properties = CliDB.SummonPropertiesStorage.LookupByKey(GetSpellInfo().GetEffect(effIndex).MiscValueB); - uint duration = (uint)GetSpellInfo().GetDuration(); - - Position pos = caster.GetPosition(); - TempSummon summon = caster.GetMap().SummonCreature(entry, pos, properties, duration, caster, GetSpellInfo().Id); - if (!summon || !summon.IsVehicle()) - return; - - summon.CastSpell(summon, SPELL_ABOMINATION_VEHICLE_POWER_DRAIN, true); - summon.CastSpell(summon, SPELL_MUTATED_TRANSFORMATION_DAMAGE, true); - caster.CastSpell(summon, SPELL_MUTATED_TRANSFORMATION_NAME, true); - - caster.EnterVehicle(summon, 0); // VEHICLE_SPELL_RIDE_HARDCODED is used according to sniff, this is ok - summon.SetCreatorGUID(caster.GetGUID()); - putricide.GetAI().JustSummoned(summon); - } - - public override void Register() - { - OnEffectHit.Add(new EffectHandler(HandleSummon, 0, SpellEffectName.Summon)); - } - } - - public override SpellScript GetSpellScript() - { - return new spell_putricide_mutated_transformation_SpellScript(); - } - } - - class spell_putricide_mutated_transformation_dmg : SpellScriptLoader - { - public spell_putricide_mutated_transformation_dmg() : base("spell_putricide_mutated_transformation_dmg") { } - - class spell_putricide_mutated_transformation_dmg_SpellScript : SpellScript - { - void FilterTargetsInitial(List targets) - { - Unit owner = Global.ObjAccessor.GetUnit(GetCaster(), GetCaster().GetCreatorGUID()); - if (owner) - targets.Remove(owner); - } - - public override void Register() - { - OnObjectAreaTargetSelect.Add(new ObjectAreaTargetSelectHandler(FilterTargetsInitial, 0, Targets.UnitSrcAreaAlly)); - } - } - - public override SpellScript GetSpellScript() - { - return new spell_putricide_mutated_transformation_dmg_SpellScript(); - } - } - - class spell_putricide_regurgitated_ooze : SpellScriptLoader - { - public spell_putricide_regurgitated_ooze() : base("spell_putricide_regurgitated_ooze") { } - - class spell_putricide_regurgitated_ooze_SpellScript : SpellScript - { - // the only purpose of this hook is to fail the achievement - void ExtraEffect(uint effIndex) - { - InstanceScript instance = GetCaster().GetInstanceScript(); - if (instance != null) - instance.SetData(DataTypes.NauseaAchievement, 0); - } - - public override void Register() - { - OnEffectHitTarget.Add(new EffectHandler(ExtraEffect, 0, SpellEffectName.ApplyAura)); - } - } - - public override SpellScript GetSpellScript() - { - return new spell_putricide_regurgitated_ooze_SpellScript(); - } - } - - // Removes aura with id stored in effect value - class spell_putricide_clear_aura_effect_value : SpellScriptLoader - { - public spell_putricide_clear_aura_effect_value() : base("spell_putricide_clear_aura_effect_value") { } - - class spell_putricide_clear_aura_effect_value_SpellScript : SpellScript - { - void HandleScript(uint effIndex) - { - PreventHitDefaultEffect(effIndex); - GetHitUnit().RemoveAurasDueToSpell((uint)GetEffectValue()); - } - - public override void Register() - { - OnEffectHitTarget.Add(new EffectHandler(HandleScript, 0, SpellEffectName.ScriptEffect)); - } - } - - public override SpellScript GetSpellScript() - { - return new spell_putricide_clear_aura_effect_value_SpellScript(); - } - } - - // Stinky and Precious spell, it's here because its used for both (Festergut and Rotface "pets") - class spell_stinky_precious_decimate : SpellScriptLoader - { - public spell_stinky_precious_decimate() : base("spell_stinky_precious_decimate") { } - - class spell_stinky_precious_decimate_SpellScript : SpellScript - { - void HandleScript(uint effIndex) - { - if (GetHitUnit().GetHealthPct() > GetEffectValue()) - { - uint newHealth = GetHitUnit().GetMaxHealth() * (uint)GetEffectValue() / 100; - GetHitUnit().SetHealth(newHealth); - } - } - - public override void Register() - { - OnEffectHitTarget.Add(new EffectHandler(HandleScript, 0, SpellEffectName.ScriptEffect)); - } - } - - public override SpellScript GetSpellScript() - { - return new spell_stinky_precious_decimate_SpellScript(); - } - } -} diff --git a/Scripts/Northrend/VioletHold/InstanceVioletHold.cs b/Scripts/Northrend/VioletHold/InstanceVioletHold.cs deleted file mode 100644 index afc384ac2..000000000 --- a/Scripts/Northrend/VioletHold/InstanceVioletHold.cs +++ /dev/null @@ -1,756 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using Game.Scripting; -using Game.Maps; -using Game.WorldEntities; -using Framework.Util; -using Framework.Constants; -using Game.Spells; -using Game; - -namespace Scripts.Northrend.VioletHold -{ - class instance_violet_hold : InstanceMapScript - { - public instance_violet_hold() : base("instance_violet_hold", 608) { } - - public override InstanceScript GetInstanceScript(InstanceMap map) - { - return new instance_violet_hold_InstanceMapScript(map); - } - - class instance_violet_hold_InstanceMapScript : InstanceScript - { - public instance_violet_hold_InstanceMapScript(Map map) : base(map) { } - - public override void Initialize() - { - uiMoragg = 0; - uiErekem = 0; - uiIchoron = 0; - uiLavanthor = 0; - uiXevozz = 0; - uiZuramat = 0; - uiCyanigosa = 0; - uiSinclari = 0; - - uiMoraggCell = 0; - uiErekemCell = 0; - uiErekemGuard[0] = 0; - uiErekemGuard[1] = 0; - uiIchoronCell = 0; - uiLavanthorCell = 0; - uiXevozzCell = 0; - uiZuramatCell = 0; - uiMainDoor = 0; - uiTeleportationPortal = 0; - uiSaboteurPortal = 0; - - trashMobs.Clear(); - - uiRemoveNpc = 0; - - uiDoorIntegrity = 100; - - uiWaveCount = 0; - uiLocation = (byte)RandomHelper.URand(0, 5); - uiFirstBoss = 0; - uiSecondBoss = 0; - uiCountErekemGuards = 0; - uiCountActivationCrystals = 0; - uiCyanigosaEventPhase = 1; - - uiActivationTimer = 5000; - uiDoorSpellTimer = 2000; - uiCyanigosaEventTimer = 3 * Time.InMilliseconds; - - bActive = false; - bIsDoorSpellCast = false; - bCrystalActivated = false; - defenseless = true; - uiMainEventPhase = EncounterState.NotStarted; - } - - public override bool IsEncounterInProgress() - { - for (byte i = 0; i < MAX_ENCOUNTER; ++i) - if ((EncounterState)m_auiEncounter[i] == EncounterState.InProgress) - return true; - - return false; - } - - public override void OnCreatureCreate(Creature creature) - { - switch (creature.GetEntry()) - { - case CREATURE_XEVOZZ: - uiXevozz = creature.GetGUID(); - break; - case CREATURE_LAVANTHOR: - uiLavanthor = creature.GetGUID(); - break; - case CREATURE_ICHORON: - uiIchoron = creature.GetGUID(); - break; - case CREATURE_ZURAMAT: - uiZuramat = creature.GetGUID(); - break; - case CREATURE_EREKEM: - uiErekem = creature.GetGUID(); - break; - case CREATURE_EREKEM_GUARD: - if (uiCountErekemGuards < 2) - { - uiErekemGuard[uiCountErekemGuards++] = creature.GetGUID(); - creature.SetFlag(UnitFields.Flags, UnitFlags.ImmuneToPc | UnitFlags.NonAttackable); - } - break; - case CREATURE_MORAGG: - uiMoragg = creature.GetGUID(); - break; - case CREATURE_CYANIGOSA: - uiCyanigosa = creature.GetGUID(); - creature.SetFlag(UnitFields.Flags, UnitFlags.ImmuneToPc | UnitFlags.NonAttackable); - break; - case CREATURE_SINCLARI: - uiSinclari = creature.GetGUID(); - break; - } - - if (creature.GetGUID() == uiFirstBoss || creature.GetGUID() == uiSecondBoss) - { - creature.AllLootRemovedFromCorpse(); - creature.RemoveLootMode(1); - } - } - - public override void OnGameObjectCreate(GameObject go) - { - switch (go.GetEntry()) - { - case GO_EREKEM_GUARD_1_DOOR: - uiErekemLeftGuardCell = go.GetGUID(); - break; - case GO_EREKEM_GUARD_2_DOOR: - uiErekemRightGuardCell = go.GetGUID(); - break; - case GO_EREKEM_DOOR: - uiErekemCell = go.GetGUID(); - break; - case GO_ZURAMAT_DOOR: - uiZuramatCell = go.GetGUID(); - break; - case GO_LAVANTHOR_DOOR: - uiLavanthorCell = go.GetGUID(); - break; - case GO_MORAGG_DOOR: - uiMoraggCell = go.GetGUID(); - break; - case GO_ICHORON_DOOR: - uiIchoronCell = go.GetGUID(); - break; - case GO_XEVOZZ_DOOR: - uiXevozzCell = go.GetGUID(); - break; - case GO_MAIN_DOOR: - uiMainDoor = go.GetGUID(); - break; - case GO_ACTIVATION_CRYSTAL: - if (uiCountActivationCrystals < 4) - uiActivationCrystal[uiCountActivationCrystals++] = go.GetGUID(); - break; - } - } - - public override void SetData(uint type, uint data) - { - switch (type) - { - case DATA_1ST_BOSS_EVENT: - UpdateEncounterState(EncounterCreditType.KillCreature, CREATURE_EREKEM, null); - m_auiEncounter[0] = (byte)data; - if ((EncounterState)data == EncounterState.Done) - SaveToDB(); - break; - case DATA_2ND_BOSS_EVENT: - UpdateEncounterState(EncounterCreditType.KillCreature, CREATURE_MORAGG, null); - m_auiEncounter[1] = (byte)data; - if ((EncounterState)data == EncounterState.Done) - SaveToDB(); - break; - case DATA_CYANIGOSA_EVENT: - m_auiEncounter[2] = (byte)data; - if ((EncounterState)data == EncounterState.Done) - { - SaveToDB(); - uiMainEventPhase = EncounterState.EncounterState.Done; - if (GameObject pMainDoor = instance.GetGameObject(uiMainDoor)) - pMainDoor.SetGoState(GameObjectState.Active); - } - break; - case DATA_WAVE_COUNT: - uiWaveCount = (byte)data; - bActive = true; - break; - case DATA_REMOVE_NPC: - uiRemoveNpc = (byte)data; - break; - case DATA_PORTAL_LOCATION: - uiLocation = (byte)data; - break; - case DATA_DOOR_INTEGRITY: - uiDoorIntegrity = (byte)data; - defenseless = false; - DoUpdateWorldState(WORLD_STATE_VH_PRISON_STATE, uiDoorIntegrity); - break; - case DATA_NPC_PRESENCE_AT_DOOR_ADD: - NpcAtDoorCastingList.Add((byte)data); - break; - case DATA_NPC_PRESENCE_AT_DOOR_REMOVE: - if (!NpcAtDoorCastingList.Empty()) - NpcAtDoorCastingList.RemoveAt(0);//.pop_back(); - break; - case DATA_MAIN_DOOR: - if (GameObject pMainDoor = instance.GetGameObject(uiMainDoor)) - { - switch ((GameObjectState)data) - { - case GameObjectState.Active: - case GameObjectState.Ready: - case GameObjectState.ActiveAlternative: - pMainDoor.SetGoState((GameObjectState)data); - break; - } - } - break; - case DATA_START_BOSS_ENCOUNTER: - switch (uiWaveCount) - { - case 6: - StartBossEncounter(uiFirstBoss); - break; - case 12: - StartBossEncounter(uiSecondBoss); - break; - } - break; - case DATA_ACTIVATE_CRYSTAL: - ActivateCrystal(); - break; - case DATA_MAIN_EVENT_PHASE: - uiMainEventPhase = (EncounterState)data; - if ((EncounterState)data == EncounterState.InProgress) // Start event - { - if (GameObject mainDoor = instance.GetGameObject(uiMainDoor)) - mainDoor.SetGoState(GameObjectState.Ready); - uiWaveCount = 1; - bActive = true; - for (int i = 0; i < 4; ++i) - { - if (GameObject crystal = instance.GetGameObject(uiActivationCrystal[i])) - crystal.RemoveFlag(GameObjectFields.Flags, GameObjectFlags.NotSelectable); - } - uiRemoveNpc = 0; // might not have been reset after a wipe on a boss. - } - break; - } - } - - public override void SetData64(uint type, ulong data) - { - switch (type) - { - case DATA_ADD_TRASH_MOB: - trashMobs.Add(data); - break; - case DATA_DEL_TRASH_MOB: - trashMobs.Remove(data); - break; - } - } - - public override uint GetData(uint type) - { - switch (type) - { - case DATA_1ST_BOSS_EVENT: - return m_auiEncounter[0]; - case DATA_2ND_BOSS_EVENT: - return m_auiEncounter[1]; - case DATA_CYANIGOSA_EVENT: - return m_auiEncounter[2]; - case DATA_WAVE_COUNT: - return uiWaveCount; - case DATA_REMOVE_NPC: - return uiRemoveNpc; - case DATA_PORTAL_LOCATION: - return uiLocation; - case DATA_DOOR_INTEGRITY: - return uiDoorIntegrity; - case DATA_NPC_PRESENCE_AT_DOOR: - return (uint)NpcAtDoorCastingList.Count; - case DATA_FIRST_BOSS: - return uiFirstBoss; - case DATA_SECOND_BOSS: - return uiSecondBoss; - case DATA_MAIN_EVENT_PHASE: - return (uint)uiMainEventPhase; - case DATA_DEFENSELESS: - return (uint)(defenseless ? 1 : 0); - } - - return 0; - } - - public override ulong GetData64(uint identifier) - { - switch (identifier) - { - case DATA_MORAGG: return uiMoragg; - case DATA_EREKEM: return uiErekem; - case DATA_EREKEM_GUARD_1: return uiErekemGuard[0]; - case DATA_EREKEM_GUARD_2: return uiErekemGuard[1]; - case DATA_ICHORON: return uiIchoron; - case DATA_LAVANTHOR: return uiLavanthor; - case DATA_XEVOZZ: return uiXevozz; - case DATA_ZURAMAT: return uiZuramat; - case DATA_CYANIGOSA: return uiCyanigosa; - case DATA_MORAGG_CELL: return uiMoraggCell; - case DATA_EREKEM_CELL: return uiErekemCell; - case DATA_EREKEM_RIGHT_GUARD_CELL: return uiErekemRightGuardCell; - case DATA_EREKEM_LEFT_GUARD_CELL: return uiErekemLeftGuardCell; - case DATA_ICHORON_CELL: return uiIchoronCell; - case DATA_LAVANTHOR_CELL: return uiLavanthorCell; - case DATA_XEVOZZ_CELL: return uiXevozzCell; - case DATA_ZURAMAT_CELL: return uiZuramatCell; - case DATA_MAIN_DOOR: return uiMainDoor; - case DATA_SINCLARI: return uiSinclari; - case DATA_TELEPORTATION_PORTAL: return uiTeleportationPortal; - case DATA_SABOTEUR_PORTAL: return uiSaboteurPortal; - } - - return 0; - } - - void SpawnPortal() - { - SetData(DATA_PORTAL_LOCATION, (GetData(DATA_PORTAL_LOCATION) + RandomHelper.URand(1, 5)) % 6); - if (Creature pSinclari = instance.GetCreature(uiSinclari)) - if (Creature portal = pSinclari.SummonCreature(CREATURE_TELEPORTATION_PORTAL, PortalLocation[GetData(DATA_PORTAL_LOCATION)], TempSummonType.CorpseDespawn)) - uiTeleportationPortal = portal.GetGUID(); - } - - void StartBossEncounter(byte uiBoss, bool bForceRespawn = true) - { - Creature pBoss = null; - - switch (uiBoss) - { - case BOSS_MORAGG: - HandleGameObject(uiMoraggCell, bForceRespawn); - pBoss = instance.GetCreature(uiMoragg); - if (pBoss) - pBoss.GetMotionMaster().MovePoint(0, BossStartMove1); - break; - case BOSS_EREKEM: - HandleGameObject(uiErekemCell, bForceRespawn); - HandleGameObject(uiErekemRightGuardCell, bForceRespawn); - HandleGameObject(uiErekemLeftGuardCell, bForceRespawn); - - pBoss = instance.GetCreature(uiErekem); - - if (pBoss) - pBoss.GetMotionMaster().MovePoint(0, BossStartMove2); - - if (Creature pGuard1 = instance.GetCreature(uiErekemGuard[0])) - { - if (bForceRespawn) - pGuard1.SetFlag(UnitFields.Flags, UnitFlags.ImmuneToPc | UnitFlags.NonAttackable); - else - pGuard1.RemoveFlag(UnitFields.Flags, UnitFlags.ImmuneToPc | UnitFlags.NonAttackable); - pGuard1.GetMotionMaster().MovePoint(0, BossStartMove21); - } - - if (Creature pGuard2 = instance.GetCreature(uiErekemGuard[1])) - { - if (bForceRespawn) - pGuard2.SetFlag(UnitFields.Flags, UnitFlags.ImmuneToPc | UnitFlags.NonAttackable); - else - pGuard2.RemoveFlag(UnitFields.Flags, UnitFlags.ImmuneToPc | UnitFlags.NonAttackable); - pGuard2.GetMotionMaster().MovePoint(0, BossStartMove22); - } - break; - case BOSS_ICHORON: - HandleGameObject(uiIchoronCell, bForceRespawn); - pBoss = instance.GetCreature(uiIchoron); - if (pBoss) - pBoss.GetMotionMaster().MovePoint(0, BossStartMove3); - break; - case BOSS_LAVANTHOR: - HandleGameObject(uiLavanthorCell, bForceRespawn); - pBoss = instance.GetCreature(uiLavanthor); - if (pBoss) - pBoss.GetMotionMaster().MovePoint(0, BossStartMove4); - break; - case BOSS_XEVOZZ: - HandleGameObject(uiXevozzCell, bForceRespawn); - pBoss = instance.GetCreature(uiXevozz); - if (pBoss) - pBoss.GetMotionMaster().MovePoint(0, BossStartMove5); - break; - case BOSS_ZURAMAT: - HandleGameObject(uiZuramatCell, bForceRespawn); - pBoss = instance.GetCreature(uiZuramat); - if (pBoss) - pBoss.GetMotionMaster().MovePoint(0, BossStartMove6); - break; - } - - // generic boss state changes - if (pBoss) - { - pBoss.RemoveFlag(UnitFields.Flags, UnitFlags.ImmuneToPc | UnitFlags.NonAttackable); - pBoss.SetReactState(ReactStates.Aggressive); - - if (!bForceRespawn) - { - if (pBoss.IsDead()) - { - // respawn but avoid to be looted again - pBoss.Respawn(); - pBoss.RemoveLootMode(1); - } - pBoss.SetFlag(UnitFields.Flags, UnitFlags.ImmuneToPc | UnitFlags.NonAttackable); - uiWaveCount = 0; - } - } - } - - void AddWave() - { - DoUpdateWorldState(WORLD_STATE_VH, 1); - DoUpdateWorldState(WORLD_STATE_VH_WAVE_COUNT, uiWaveCount); - - switch (uiWaveCount) - { - case 6: - if (uiFirstBoss == 0) - uiFirstBoss = (byte)RandomHelper.URand(1, 6); - if (Creature pSinclari = instance.GetCreature(uiSinclari)) - { - if (Creature pPortal = pSinclari.SummonCreature(CREATURE_TELEPORTATION_PORTAL, MiddleRoomPortalSaboLocation, TempSummonType.CorpseDespawn)) - uiSaboteurPortal = pPortal.GetGUID(); - if (Creature pAzureSaboteur = pSinclari.SummonCreature(CREATURE_SABOTEOUR, MiddleRoomLocation, TempSummonType.DeadDespawn)) - pAzureSaboteur.CastSpell(pAzureSaboteur, SABOTEUR_SHIELD_EFFECT, false); - } - break; - case 12: - if (uiSecondBoss == 0) - do - { - uiSecondBoss = (byte)RandomHelper.URand(1, 6); - } while (uiSecondBoss == uiFirstBoss); - if (Creature pSinclari = instance.GetCreature(uiSinclari)) - { - if (Creature pPortal = pSinclari.SummonCreature(CREATURE_TELEPORTATION_PORTAL, MiddleRoomPortalSaboLocation, TempSummonType.CorpseDespawn)) - uiSaboteurPortal = pPortal.GetGUID(); - if (Creature pAzureSaboteur = pSinclari.SummonCreature(CREATURE_SABOTEOUR, MiddleRoomLocation, TempSummonType.DeadDespawn)) - pAzureSaboteur.CastSpell(pAzureSaboteur, SABOTEUR_SHIELD_EFFECT, false); - } - break; - case 18: - { - Creature pSinclari = instance.GetCreature(uiSinclari); - if (pSinclari) - pSinclari.SummonCreature(CREATURE_CYANIGOSA, CyanigosasSpawnLocation, TempSummonType.DeadDespawn); - break; - } - case 1: - { - if (GameObject pMainDoor = instance.GetGameObject(uiMainDoor)) - pMainDoor.SetGoState(GameObjectState.Ready); - DoUpdateWorldState(WORLD_STATE_VH_PRISON_STATE, 100); - // no break - } - goto default; - default: - SpawnPortal(); - break; - } - } - - public override string GetSaveData() - { - OUT_SAVE_INST_DATA(); - - str_data = string.Format("V H {0} {1} {2} {3} {4}", m_auiEncounter[0], m_auiEncounter[1], m_auiEncounter[2], uiFirstBoss, uiSecondBoss); - - OUT_SAVE_INST_DATA_COMPLETE(); - return str_data; - } - - public override void Load(string str) - { - if (!string.IsNullOrEmpty(str)) - { - OUT_LOAD_INST_DATA_FAIL(); - return; - } - - OUT_LOAD_INST_DATA(str); - - StringArguments args = new StringArguments(str); - char dataHead1 = args.NextChar(); - char dataHead2 = args.NextChar(); - ushort data0 = args.NextUInt16(); - ushort data1 = args.NextUInt16(); - ushort data2 = args.NextUInt16(); - ushort data3 = args.NextUInt16(); - ushort data4 = args.NextUInt16(); - - if (dataHead1 == 'V' && dataHead2 == 'H') - { - m_auiEncounter[0] = data0; - m_auiEncounter[1] = data1; - m_auiEncounter[2] = data2; - - for (byte i = 0; i < MAX_ENCOUNTER; ++i) - if ((EncounterState)m_auiEncounter[i] == EncounterState.InProgress) - m_auiEncounter[i] = (ushort)EncounterState.NotStarted; - - uiFirstBoss = (byte)data3; - uiSecondBoss = (byte)data4; - } - else - OUT_LOAD_INST_DATA_FAIL(); - - OUT_LOAD_INST_DATA_COMPLETE(); - } - - bool CheckWipe() - { - var players = instance.GetPlayers(); - foreach (var player in players) - { - if (player.IsGameMaster()) - continue; - - if (player.IsAlive()) - return false; - } - - return true; - } - - public override void Update(uint diff) - { - if (!instance.HavePlayers()) - return; - - // portals should spawn if other portal is dead and doors are closed - if (bActive && uiMainEventPhase == EncounterState.InProgress) - { - if (uiActivationTimer < diff) - { - AddWave(); - bActive = false; - // 1 minute waiting time after each boss fight - uiActivationTimer = (uint)((uiWaveCount == 6 || uiWaveCount == 12) ? 60000 : 5000); - } else uiActivationTimer -= diff; - } - - // if main event is in progress and players have wiped then reset instance - if (uiMainEventPhase == EncounterState.InProgress && CheckWipe()) - { - SetData(DATA_REMOVE_NPC, 1); - StartBossEncounter(uiFirstBoss, false); - StartBossEncounter(uiSecondBoss, false); - - SetData(DATA_MAIN_DOOR, GameObjectState.Active); - SetData(DATA_WAVE_COUNT, 0); - uiMainEventPhase = EncounterState.NotStarted; - - for (int i = 0; i < 4; ++i) - { - if (GameObject crystal = instance.GetGameObject(uiActivationCrystal[i])) - crystal.SetFlag(GameObjectFields.Flags, GameObjectFlags.NotSelectable); - } - - if (Creature pSinclari = instance.GetCreature(uiSinclari)) - { - pSinclari.SetVisible(true); - - List GuardList = new List(); - pSinclari.GetCreatureListWithEntryInGrid(GuardList, NPC_VIOLET_HOLD_GUARD, 40.0f); - if (!GuardList.Empty()) - { - foreach (var pGuard in GuardList) - { - pGuard.SetVisible(true); - pGuard.SetReactState(ReactStates.Aggressive); - pGuard.GetMotionMaster().MovePoint(1, pGuard.GetHomePosition()); - } - } - pSinclari.GetMotionMaster().MovePoint(1, pSinclari.GetHomePosition()); - pSinclari.RemoveFlag(UnitFields.Flags, UnitFlags.NotSelectable); - } - } - - // Cyanigosa is spawned but not tranformed, prefight event - Creature pCyanigosa = instance.GetCreature(uiCyanigosa); - if (pCyanigosa && !pCyanigosa.HasAura(CYANIGOSA_SPELL_TRANSFORM)) - { - if (uiCyanigosaEventTimer <= diff) - { - switch (uiCyanigosaEventPhase) - { - case 1: - pCyanigosa.CastSpell(pCyanigosa, CYANIGOSA_BLUE_AURA, false); - pCyanigosa.GetAI().Talk(CYANIGOSA_SAY_SPAWN); - uiCyanigosaEventTimer = 7 * Time.InMilliseconds; - ++uiCyanigosaEventPhase; - break; - case 2: - pCyanigosa.GetMotionMaster().MoveJump(MiddleRoomLocation.GetPositionX(), MiddleRoomLocation.GetPositionY(), MiddleRoomLocation.GetPositionZ(), 10.0f, 20.0f); - pCyanigosa.CastSpell(pCyanigosa, CYANIGOSA_BLUE_AURA, false); - uiCyanigosaEventTimer = 7 * Time.InMilliseconds; - ++uiCyanigosaEventPhase; - break; - case 3: - pCyanigosa.RemoveAurasDueToSpell(CYANIGOSA_BLUE_AURA); - pCyanigosa.CastSpell(pCyanigosa, CYANIGOSA_SPELL_TRANSFORM, 0); - pCyanigosa.RemoveFlag(UnitFields.Flags, UnitFlags.ImmuneToPc | UnitFlags.NonAttackable); - pCyanigosa.SetReactState(ReactStates.Aggressive); - uiCyanigosaEventTimer = 2 * Time.InMilliseconds; - ++uiCyanigosaEventPhase; - break; - case 4: - uiCyanigosaEventPhase = 0; - break; - } - } else uiCyanigosaEventTimer -= diff; - } - - // if there are NPCs in front of the prison door, which are casting the door seal spell and doors are active - if (GetData(DATA_NPC_PRESENCE_AT_DOOR) && uiMainEventPhase == EncounterState.InProgress) - { - // if door integrity is > 0 then decrase it's integrity state - if (GetData(DATA_DOOR_INTEGRITY)) - { - if (uiDoorSpellTimer < diff) - { - SetData(DATA_DOOR_INTEGRITY, GetData(DATA_DOOR_INTEGRITY) - 1); - uiDoorSpellTimer = 2000; - } else uiDoorSpellTimer -= diff; - } - // else set door state to active (means door will open and group have failed to sustain mob invasion on the door) - else - { - SetData(DATA_MAIN_DOOR, GameObjectState.Active); - uiMainEventPhase = EncounterState.Fail; - } - } - } - - void ActivateCrystal() - { - // just to make things easier we'll get the gameobject from the map - GameObject invoker = instance.GetGameObject(uiActivationCrystal[0]); - if (!invoker) - return; - - SpellInfo spellInfoLightning = Global.SpellMgr.GetSpellInfo(SPELL_ARCANE_LIGHTNING); - if (spellInfoLightning == null) - return; - - // the orb - TempSummon trigger = invoker.SummonCreature(NPC_DEFENSE_SYSTEM, ArcaneSphere, TempSummonType.ManualDespawn, 0); - if (!trigger) - return; - - // visuals - trigger.CastSpell(trigger, spellInfoLightning, true, 0, 0, trigger.GetGUID()); - - // Kill all mobs registered with SetData64(ADD_TRASH_MOB) - foreach (var guid in trashMobs) - { - Creature creature = instance.GetCreature(guid); - if (creature && creature.IsAlive()) - trigger.Kill(creature); - } - } - - public override void ProcessEvent(WorldObject go, uint uiEventId) - { - switch (uiEventId) - { - case EVENT_ACTIVATE_CRYSTAL: - bCrystalActivated = true; // Activation by player's will throw event signal - ActivateCrystal(); - break; - } - } - - #region Fields - - ulong uiMoragg; - ulong uiErekem; - ulong[] uiErekemGuard = new ulong[2]; - ulong uiIchoron; - ulong uiLavanthor; - ulong uiXevozz; - ulong uiZuramat; - ulong uiCyanigosa; - ulong uiSinclari; - - ulong uiMoraggCell; - ulong uiErekemCell; - ulong uiErekemLeftGuardCell; - ulong uiErekemRightGuardCell; - ulong uiIchoronCell; - ulong uiLavanthorCell; - ulong uiXevozzCell; - ulong uiZuramatCell; - ulong uiMainDoor; - ulong uiTeleportationPortal; - ulong uiSaboteurPortal; - - ulong[] uiActivationCrystal = new ulong[4]; - - uint uiActivationTimer; - uint uiCyanigosaEventTimer; - uint uiDoorSpellTimer; - - List trashMobs = new List(); // to kill with crystal - - byte uiWaveCount; - byte uiLocation; - byte uiFirstBoss; - byte uiSecondBoss; - byte uiRemoveNpc; - - byte uiDoorIntegrity; - - ushort[] m_auiEncounter = new ushort[MAX_ENCOUNTER]; - byte uiCountErekemGuards; - byte uiCountActivationCrystals; - byte uiCyanigosaEventPhase; - EncounterState uiMainEventPhase; // SPECIAL: pre event animations, InProgress: event itself - - bool bActive; - bool bWiped; - bool bIsDoorSpellCast; - bool bCrystalActivated; - bool defenseless; - - List NpcAtDoorCastingList = new List(); - - string str_data; - #endregion - } - } -}