diff --git a/docs-website/docs/admin-panel/game-configuration.md b/docs-website/docs/admin-panel/game-configuration.md index 70951e9509..5790915823 100644 --- a/docs-website/docs/admin-panel/game-configuration.md +++ b/docs-website/docs/admin-panel/game-configuration.md @@ -235,6 +235,20 @@ Route `edit-config-grid/…WarpInfo/` The entries of the in-game warp list: index, name, target gate, level requirement and cost. +The [open source client](https://github.com/sven-n/MuMain) gets this list when a +character enters the game and shows it in its warp window, so changes show up +there after the next character selection. The original client shows the warp +list of its data files; a warp which isn't in there can't be selected with it. + +*Warpable* only restricts players, and only when it's off: then the warp isn't +in the list of the open source client, and the server refuses it when a player +asks for it, e.g. with the move chat command. Game masters can still use it. +A new season 6 configuration has it off for the warps which the original client +doesn't offer in its warp window: Crywolf (reached by walking), Loren Market +(reached through an NPC) and the second LaCleon warp. For an existing +configuration, the optional update *Restrict warps outside of the original warp +window* does the same. + ## Jewel mixes Route `edit-config-grid/…JewelMix/` diff --git a/docs/Packets/C2-F5-09-WarpListExtended_by-server.md b/docs/Packets/C2-F5-09-WarpListExtended_by-server.md new file mode 100644 index 0000000000..fb6477e057 --- /dev/null +++ b/docs/Packets/C2-F5-09-WarpListExtended_by-server.md @@ -0,0 +1,34 @@ +# C2 F5 09 - WarpListExtended (by server) + +## Is sent when + +After the character entered the game world, when the client is the open source client. + +## Causes the following actions on the client side + +The client shows these warps in its warp window (and accepts them for the warp chat command) instead of the warp list of its data files. Warps which the client knows keep the name of its data files; others get the name of this message. + +## Structure + +| Index | Length | Data Type | Value | Description | +|-------|--------|-----------|-------|-------------| +| 0 | 1 | Byte | 0xC2 | [Packet type](PacketTypes.md) | +| 1 | 2 | Short | | Packet header - length of the packet | +| 3 | 1 | Byte | 0xF5 | Packet header - packet type identifier | +| 4 | 1 | Byte | 0x09 | Packet header - sub packet type identifier | +| 5 | 1 | Byte | | Count | +| 6 | WarpListEntry.Length * Count | Array of WarpListEntry | | Warps | + +### WarpListEntry Structure + +A warp which the player can select in the warp window. + +Length: 44 Bytes + +| Index | Length | Data Type | Value | Description | +|-------|--------|-----------|-------|-------------| +| 0 | 2 | ShortLittleEndian | | Index; The index of the warp, which the client sends in the WarpCommandRequest. | +| 2 | 2 | ShortLittleEndian | | MapNumber; The number of the map to which the warp leads. | +| 4 | 2 | ShortLittleEndian | | LevelRequirement; The required character level, as configured. Character classes with a reduced warp level requirement get the reduction on top of it, like in the warp list of the data files. | +| 8 | 4 | IntegerLittleEndian | | Costs; The zen which the warp costs. | +| 12 | 32 | String | | Name; The name of the warp, in the language of the player. | \ No newline at end of file diff --git a/docs/Packets/ServerToClient.md b/docs/Packets/ServerToClient.md index 78ac253b3d..4ef37621ae 100644 --- a/docs/Packets/ServerToClient.md +++ b/docs/Packets/ServerToClient.md @@ -365,6 +365,7 @@ * [C1 F5 03 - DiscordIntegrationInfo (by server)](C1-F5-03-DiscordIntegrationInfo_by-server.md) * [C1 F5 05 - DiscordLinkCode (by server)](C1-F5-05-DiscordLinkCode_by-server.md) * [C2 F5 07 - ExternalChatMessage (by server)](C2-F5-07-ExternalChatMessage_by-server.md) + * [C2 F5 09 - WarpListExtended (by server)](C2-F5-09-WarpListExtended_by-server.md) * [C1 F6 00 - QuestEventLimitResult (by server)](C1-F6-00-QuestEventLimitResult_by-server.md) * [C1 F6 03 - QuestEventResponse (by server)](C1-F6-03-QuestEventResponse_by-server.md) * [C1 F6 04 - QuestStartedByItem (by server)](C1-F6-04-QuestStartedByItem_by-server.md) diff --git a/src/DataModel/Configuration/WarpInfo.cs b/src/DataModel/Configuration/WarpInfo.cs index 8e9dccad9b..fdd8eace8d 100644 --- a/src/DataModel/Configuration/WarpInfo.cs +++ b/src/DataModel/Configuration/WarpInfo.cs @@ -32,6 +32,17 @@ public partial class WarpInfo /// public int LevelRequirement { get; set; } + /// + /// Gets or sets a value indicating whether players can use this warp. + /// + /// + /// When it's false, the warp is only available to game masters: it isn't sent to the warp list of + /// the game client, and the warp request of a player is refused. It doesn't affect other ways to get to + /// the map, e.g. walking or the move command of a game master. That's the case of the warps which the + /// original client doesn't offer in its warp window, like Crywolf, which is reached by walking. + /// + public bool IsWarpable { get; set; } = true; + /// /// Gets or sets the gate. /// diff --git a/src/DataModel/Properties/ModelResources.de.resx b/src/DataModel/Properties/ModelResources.de.resx index 165314a977..a2d44c47bb 100644 --- a/src/DataModel/Properties/ModelResources.de.resx +++ b/src/DataModel/Properties/ModelResources.de.resx @@ -3615,4 +3615,10 @@ Das Attribut der Gegenstandsanforderungen, für das diese Formel gilt. + + Für Spieler verfügbar + + + Ob Spieler diesen Warp verwenden können. Er schränkt Spieler nur ein, wenn er ausgeschaltet ist: Dann ist der Warp nicht in der Warp-Liste des Clients, und die Warp-Anfrage eines Spielers wird abgelehnt; Game Master können ihn weiterhin verwenden. + diff --git a/src/DataModel/Properties/ModelResources.resx b/src/DataModel/Properties/ModelResources.resx index cd47084cf8..43bf68d905 100644 --- a/src/DataModel/Properties/ModelResources.resx +++ b/src/DataModel/Properties/ModelResources.resx @@ -6523,4 +6523,10 @@ Rounded down to a multiple of 10, and the durability doesn't reduce the price, e.g. for potions. + + Warpable + + + Whether players can use this warp. It only restricts players when it's off: then the warp isn't in the warp list of the client and the warp request of a player is refused, while game masters can still use it. + diff --git a/src/GameLogic/Bots/BotNavigator.cs b/src/GameLogic/Bots/BotNavigator.cs index a00a04b6d5..ed8792c4c4 100644 --- a/src/GameLogic/Bots/BotNavigator.cs +++ b/src/GameLogic/Bots/BotNavigator.cs @@ -2495,8 +2495,9 @@ private IEnumerable GetLegalWarps(GameMapDefinition mapDefinition) // global warp list, so map-number matching remains the compatibility fallback. When the exact // definition is present, however, use only its entries to avoid mixing distinct definitions // which happen to share a number. + // Warps which aren't warpable are refused for players (see WarpAction), so bots don't pick them. var sameNumberWarps = this._player.GameContext.Configuration.WarpList - .Where(w => w.Gate?.Map?.Number == mapDefinition.Number) + .Where(w => w.IsWarpable && w.Gate?.Map?.Number == mapDefinition.Number) .ToArray(); var mapDefinitionId = mapDefinition.GetId(); var exactMapWarps = mapDefinitionId == Guid.Empty diff --git a/src/GameLogic/PlayerActions/WarpAction.cs b/src/GameLogic/PlayerActions/WarpAction.cs index 8d52bf282a..cb38f57308 100644 --- a/src/GameLogic/PlayerActions/WarpAction.cs +++ b/src/GameLogic/PlayerActions/WarpAction.cs @@ -23,6 +23,12 @@ public class WarpAction /// The warp information. public async ValueTask WarpToAsync(Player player, WarpInfo warpInfo) { + if (!warpInfo.IsWarpable && player.SelectedCharacter?.CharacterStatus != CharacterStatus.GameMaster) + { + await player.ShowLocalizedBlueMessageAsync(nameof(PlayerMessage.WarpOnlyForGameMasters)).ConfigureAwait(false); + return; + } + if (warpInfo.Gate is { } gate && player.GameContext.PlugInManager.GetPlugInPoint() is { } plugInPoint) { diff --git a/src/GameLogic/PlugIns/ShowWarpListAfterEnterWorldPlugIn.cs b/src/GameLogic/PlugIns/ShowWarpListAfterEnterWorldPlugIn.cs new file mode 100644 index 0000000000..8b37d2f9a5 --- /dev/null +++ b/src/GameLogic/PlugIns/ShowWarpListAfterEnterWorldPlugIn.cs @@ -0,0 +1,50 @@ +// +// Licensed under the MIT License. See LICENSE file in the project root for full license information. +// + +namespace MUnique.OpenMU.GameLogic.PlugIns; + +using System.Runtime.InteropServices; +using MUnique.OpenMU.DataModel.Configuration; +using MUnique.OpenMU.GameLogic.Views.World; +using MUnique.OpenMU.PlugIns; + +/// +/// Shows the warp list of the server to the player when it enters the game, so that the warp window +/// of the client offers the warps of the server instead of the ones of its data files. +/// +[PlugIn] +[Display(Name = nameof(PlugInResources.ShowWarpListAfterEnterWorldPlugIn_Name), Description = nameof(PlugInResources.ShowWarpListAfterEnterWorldPlugIn_Description), ResourceType = typeof(PlugInResources))] +[Guid("CC3C6192-B0E9-441F-8E7D-D432B562AB86")] +public class ShowWarpListAfterEnterWorldPlugIn : IPlayerStateChangedPlugIn +{ + /// + public async ValueTask PlayerStateChangedAsync(Player player, State previousState, State currentState) + { + if (previousState != PlayerState.CharacterSelection || currentState != PlayerState.EnteredWorld) + { + return; + } + + var warps = GetSelectableWarps(player.GameContext.Configuration.WarpList); + await player.InvokeViewPlugInAsync(p => p.ShowWarpListAsync(warps)).ConfigureAwait(false); + } + + /// + /// Gets the warps which a player can select, ordered by their index. + /// + /// The configured warp list. + /// + /// The warps which lead to a map and which players can use (). + /// Of warps with the same index, only the first one is included, because it's the one which a warp + /// request with that index uses. + /// + internal static IReadOnlyCollection GetSelectableWarps(IEnumerable warpList) + { + return warpList + .DistinctBy(warp => warp.Index) + .Where(warp => warp.IsWarpable && warp.Gate?.Map is not null) + .OrderBy(warp => warp.Index) + .ToList(); + } +} diff --git a/src/GameLogic/Properties/PlayerMessage.Designer.cs b/src/GameLogic/Properties/PlayerMessage.Designer.cs index af2850a6b6..451d767b67 100644 --- a/src/GameLogic/Properties/PlayerMessage.Designer.cs +++ b/src/GameLogic/Properties/PlayerMessage.Designer.cs @@ -2947,6 +2947,15 @@ public static string UsingThisItemNotImplemented { } } + /// + /// Looks up a localized string similar to This warp is only available to game masters.. + /// + public static string WarpOnlyForGameMasters { + get { + return ResourceManager.GetString("WarpOnlyForGameMasters", resourceCulture); + } + } + /// /// Looks up a localized string similar to [World] {0}: {1}. /// diff --git a/src/GameLogic/Properties/PlayerMessage.de.resx b/src/GameLogic/Properties/PlayerMessage.de.resx index 9c0645402f..c6b035c784 100644 --- a/src/GameLogic/Properties/PlayerMessage.de.resx +++ b/src/GameLogic/Properties/PlayerMessage.de.resx @@ -1018,4 +1018,7 @@ Inventarerweiterungen: {18} Diese Karte ist nicht verfügbar. + + Dieser Warp ist nur für Game Master verfügbar. + diff --git a/src/GameLogic/Properties/PlayerMessage.pt.resx b/src/GameLogic/Properties/PlayerMessage.pt.resx index b190c0c18c..3f21ddfa66 100644 --- a/src/GameLogic/Properties/PlayerMessage.pt.resx +++ b/src/GameLogic/Properties/PlayerMessage.pt.resx @@ -1171,4 +1171,7 @@ Extensões de inventário: {18} Você precisa de um ingresso para entrar neste evento. + + Este warp está disponível apenas para game masters. + diff --git a/src/GameLogic/Properties/PlayerMessage.resx b/src/GameLogic/Properties/PlayerMessage.resx index 1bca35620a..95b8eb4d9c 100644 --- a/src/GameLogic/Properties/PlayerMessage.resx +++ b/src/GameLogic/Properties/PlayerMessage.resx @@ -1171,4 +1171,7 @@ Inventory Extensions: {18} This map is not available. + + This warp is only available to game masters. + diff --git a/src/GameLogic/Properties/PlugInResources.Designer.cs b/src/GameLogic/Properties/PlugInResources.Designer.cs index 027c35badc..afe520fe7a 100644 --- a/src/GameLogic/Properties/PlugInResources.Designer.cs +++ b/src/GameLogic/Properties/PlugInResources.Designer.cs @@ -60,6 +60,24 @@ internal PlugInResources() { } } + /// + /// Looks up a localized string similar to Records hits dealt and received by scripted test actors in their event stream.. + /// + public static string ActorHitRecorderPlugIn_Description { + get { + return ResourceManager.GetString("ActorHitRecorderPlugIn_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Test actor hit recorder. + /// + public static string ActorHitRecorderPlugIn_Name { + get { + return ResourceManager.GetString("ActorHitRecorderPlugIn_Name", resourceCulture); + } + } + /// /// Looks up a localized string similar to Adds the specified amount of agility points to the character.. /// @@ -168,6 +186,24 @@ public static string AddVitalityStatChatCommandPlugIn_Name { } } + /// + /// Looks up a localized string similar to Plugin which handles the reset fruit of agility, which takes back invested agility points and returns them as level up points.. + /// + public static string AgilityResetFruitConsumeHandlerPlugIn_Description { + get { + return ResourceManager.GetString("AgilityResetFruitConsumeHandlerPlugIn_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Reset Fruit of Agility Consume Handler. + /// + public static string AgilityResetFruitConsumeHandlerPlugIn_Name { + get { + return ResourceManager.GetString("AgilityResetFruitConsumeHandlerPlugIn_Name", resourceCulture); + } + } + /// /// Looks up a localized string similar to Plugin which handles the alcohol consumption.. /// @@ -222,6 +258,78 @@ public static string AppleConsumeHandlerPlugIn_Name { } } + /// + /// Looks up a localized string similar to Base Delay Ms. + /// + public static string AttackSpeedProfile_BaseDelayMs_Caption { + get { + return ResourceManager.GetString("AttackSpeedProfile_BaseDelayMs_Caption", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Minimum Interval Ms. + /// + public static string AttackSpeedProfile_MinimumIntervalMs_Caption { + get { + return ResourceManager.GetString("AttackSpeedProfile_MinimumIntervalMs_Caption", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Scaling Factor. + /// + public static string AttackSpeedProfile_ScalingFactor_Caption { + get { + return ResourceManager.GetString("AttackSpeedProfile_ScalingFactor_Caption", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Skill Id. + /// + public static string AttackSpeedProfile_SkillId_Caption { + get { + return ResourceManager.GetString("AttackSpeedProfile_SkillId_Caption", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Speed Source. + /// + public static string AttackSpeedProfile_SpeedSource_Caption { + get { + return ResourceManager.GetString("AttackSpeedProfile_SpeedSource_Caption", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Which speed attribute scales the delay: Attack Speed for physical skills, Magic Speed for wizardry and curse skills.. + /// + public static string AttackSpeedProfile_SpeedSource_Description { + get { + return ResourceManager.GetString("AttackSpeedProfile_SpeedSource_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Attack Speed. + /// + public static string AttackSpeedSource_AttackSpeed { + get { + return ResourceManager.GetString("AttackSpeedSource_AttackSpeed", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Magic Speed. + /// + public static string AttackSpeedSource_MagicSpeed { + get { + return ResourceManager.GetString("AttackSpeedSource_MagicSpeed", resourceCulture); + } + } + /// /// Looks up a localized string similar to Handles the chat command '/banacc <acc>'. Bans an account from the game.. /// @@ -286,5305 +394,7321 @@ public static string BlessJewelConsumeHandlerPlugIn_Name { } /// - /// Looks up a localized string similar to The in-game cash shop. When it's deactivated, the cash shop can't be opened. Its configuration holds the settings, e.g. about gifts and the storage size.. + /// Looks up a localized string similar to Repair Target Items. /// - public static string CashShopFeaturePlugIn_Description { + public static string BlessJewelConsumeHandlerPlugInConfiguration_RepairTargetItems_Caption { get { - return ResourceManager.GetString("CashShopFeaturePlugIn_Description", resourceCulture); + return ResourceManager.GetString("BlessJewelConsumeHandlerPlugInConfiguration_RepairTargetItems_Caption", resourceCulture); } } /// - /// Looks up a localized string similar to Cash shop. + /// Looks up a localized string similar to Handles talking to the Archangel in the blood castle event, where players hand in the quest item to win the event.. /// - public static string CashShopFeaturePlugIn_Name { + public static string BloodCastleArchangelTalkPlugIn_Description { get { - return ResourceManager.GetString("CashShopFeaturePlugIn_Name", resourceCulture); + return ResourceManager.GetString("BloodCastleArchangelTalkPlugIn_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Sends the versions of the cash shop script and banner to the player when it enters the game.. + /// Looks up a localized string similar to Blood Castle Archangel. /// - public static string CashShopVersionPlugIn_Description { + public static string BloodCastleArchangelTalkPlugIn_Name { get { - return ResourceManager.GetString("CashShopVersionPlugIn_Description", resourceCulture); + return ResourceManager.GetString("BloodCastleArchangelTalkPlugIn_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Cash shop version. + /// Looks up a localized string similar to Blood Castle event. /// - public static string CashShopVersionPlugIn_Name { + public static string BloodCastleStartPlugIn_Description { get { - return ResourceManager.GetString("CashShopVersionPlugIn_Name", resourceCulture); + return ResourceManager.GetString("BloodCastleStartPlugIn_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Shows Land of Trials availability and its applicable entry fee.. + /// Looks up a localized string similar to BloodCastleStartPlugIn. /// - public static string CastleSiegeLandOfTrialsGuardTalkPlugIn_Description { + public static string BloodCastleStartPlugIn_Name { get { - return ResourceManager.GetString("CastleSiegeLandOfTrialsGuardTalkPlugIn_Description", resourceCulture); + return ResourceManager.GetString("BloodCastleStartPlugIn_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Castle Siege Land of Trials guard. + /// Looks up a localized string similar to Minimum time between two normal chat lines of the same bot.. /// - public static string CastleSiegeLandOfTrialsGuardTalkPlugIn_Name { + public static string BotChatConfiguration_BotChatCooldown_Description { get { - return ResourceManager.GetString("CastleSiegeLandOfTrialsGuardTalkPlugIn_Name", resourceCulture); + return ResourceManager.GetString("BotChatConfiguration_BotChatCooldown_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Opens the operation interface for a Castle Siege gate lever.. + /// Looks up a localized string similar to Chat cooldown per bot. /// - public static string CastleSiegeLeverTalkPlugIn_Description { + public static string BotChatConfiguration_BotChatCooldown_Name { get { - return ResourceManager.GetString("CastleSiegeLeverTalkPlugIn_Description", resourceCulture); + return ResourceManager.GetString("BotChatConfiguration_BotChatCooldown_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Castle Siege Gate Lever. + /// Looks up a localized string similar to From how many normal chat messages of players near a bot (within the time below) the bot says nothing unasked - no conversations, greetings, congratulations or comments. Answers to a player stay. 0 = off.. /// - public static string CastleSiegeLeverTalkPlugIn_Name { + public static string BotChatConfiguration_BusyChatMessageCount_Description { get { - return ResourceManager.GetString("CastleSiegeLeverTalkPlugIn_Name", resourceCulture); + return ResourceManager.GetString("BotChatConfiguration_BusyChatMessageCount_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Opens a Castle Siege warfare machine for an authorized player.. + /// Looks up a localized string similar to Quiet when players talk: messages. /// - public static string CastleSiegeMachineTalkPlugIn_Description { + public static string BotChatConfiguration_BusyChatMessageCount_Name { get { - return ResourceManager.GetString("CastleSiegeMachineTalkPlugIn_Description", resourceCulture); + return ResourceManager.GetString("BotChatConfiguration_BusyChatMessageCount_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Castle Siege Warfare Machine. + /// Looks up a localized string similar to How long a message of a player counts for the setting above.. /// - public static string CastleSiegeMachineTalkPlugIn_Name { + public static string BotChatConfiguration_BusyChatWindow_Description { get { - return ResourceManager.GetString("CastleSiegeMachineTalkPlugIn_Name", resourceCulture); + return ResourceManager.GetString("BotChatConfiguration_BusyChatWindow_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Delivers queued Castle Siege participant rewards when a character enters the game.. + /// Looks up a localized string similar to Quiet when players talk: time. /// - public static string CastleSiegePendingRewardPlugIn_Description { + public static string BotChatConfiguration_BusyChatWindow_Name { get { - return ResourceManager.GetString("CastleSiegePendingRewardPlugIn_Description", resourceCulture); + return ResourceManager.GetString("BotChatConfiguration_BusyChatWindow_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Castle Siege Pending Reward Delivery. + /// Looks up a localized string similar to Chance that the nearest bot congratulates a player on a level-up or a reset in the normal chat ("gz"). 0 = never.. /// - public static string CastleSiegePendingRewardPlugIn_Name { + public static string BotChatConfiguration_CongratulationChancePercent_Description { get { - return ResourceManager.GetString("CastleSiegePendingRewardPlugIn_Name", resourceCulture); + return ResourceManager.GetString("BotChatConfiguration_CongratulationChancePercent_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Drives the weekly Castle Siege state cycle.. + /// Looks up a localized string similar to Congratulation chance (%). /// - public static string CastleSiegePlugIn_Description { + public static string BotChatConfiguration_CongratulationChancePercent_Name { get { - return ResourceManager.GetString("CastleSiegePlugIn_Description", resourceCulture); + return ResourceManager.GetString("BotChatConfiguration_CongratulationChancePercent_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Castle Siege. + /// Looks up a localized string similar to Minimum time between two congratulations of the same player on a level-up (and, separately, on a reset).. /// - public static string CastleSiegePlugIn_Name { + public static string BotChatConfiguration_CongratulationCooldown_Description { get { - return ResourceManager.GetString("CastleSiegePlugIn_Name", resourceCulture); + return ResourceManager.GetString("BotChatConfiguration_CongratulationCooldown_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Opens the Castle Siege registration window, which shows the Castle Siege status, when a player talks to a guardsman on the Castle Siege map.. + /// Looks up a localized string similar to Congratulation cooldown per player. /// - public static string CastleSiegeRegistrationGuardsmanTalkPlugIn_Description { + public static string BotChatConfiguration_CongratulationCooldown_Name { get { - return ResourceManager.GetString("CastleSiegeRegistrationGuardsmanTalkPlugIn_Description", resourceCulture); + return ResourceManager.GetString("BotChatConfiguration_CongratulationCooldown_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Castle Siege registration guardsman. + /// Looks up a localized string similar to Said by the nearest bot when a player leveled up. Placeholders: {player}, {level} and {resets} of the player, {map}.. /// - public static string CastleSiegeRegistrationGuardsmanTalkPlugIn_Name { + public static string BotChatConfiguration_CongratulationLines_Description { get { - return ResourceManager.GetString("CastleSiegeRegistrationGuardsmanTalkPlugIn_Name", resourceCulture); + return ResourceManager.GetString("BotChatConfiguration_CongratulationLines_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Handles the chain lightning skill of the summoner class. Additionally to the attacked target, it will hit up to two additional targets.. + /// Looks up a localized string similar to Congratulations: level-up. /// - public static string ChainLightningSkillPlugIn_Description { + public static string BotChatConfiguration_CongratulationLines_Name { get { - return ResourceManager.GetString("ChainLightningSkillPlugIn_Description", resourceCulture); + return ResourceManager.GetString("BotChatConfiguration_CongratulationLines_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Chain Lightning Skill. + /// Looks up a localized string similar to Chance that two bots near a player talk when the interval is over. 0 = never.. /// - public static string ChainLightningSkillPlugIn_Name { + public static string BotChatConfiguration_ConversationChancePercent_Description { get { - return ResourceManager.GetString("ChainLightningSkillPlugIn_Name", resourceCulture); + return ResourceManager.GetString("BotChatConfiguration_ConversationChancePercent_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Handles the chat command '/language <isoCode>'. Changes the language of the account.. + /// Looks up a localized string similar to Conversation chance (%). /// - public static string ChangeLanguageChatCommandPlugIn_Description { + public static string BotChatConfiguration_ConversationChancePercent_Name { get { - return ResourceManager.GetString("ChangeLanguageChatCommandPlugIn_Description", resourceCulture); + return ResourceManager.GetString("BotChatConfiguration_ConversationChancePercent_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Change language command. + /// Looks up a localized string similar to How often a player may overhear two bots near them talking. Counts per player: everyone who stands next to two bots hears them talk about once per interval.. /// - public static string ChangeLanguageChatCommandPlugIn_Name { + public static string BotChatConfiguration_ConversationInterval_Description { get { - return ResourceManager.GetString("ChangeLanguageChatCommandPlugIn_Name", resourceCulture); + return ResourceManager.GetString("BotChatConfiguration_ConversationInterval_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Handles the chat command '/charinfo <char>'. Returns information about the character back to the requester.. + /// Looks up a localized string similar to Conversation interval per player. /// - public static string CharInfoChatCommandPlugIn_Description { + public static string BotChatConfiguration_ConversationInterval_Name { get { - return ResourceManager.GetString("CharInfoChatCommandPlugIn_Description", resourceCulture); + return ResourceManager.GetString("BotChatConfiguration_ConversationInterval_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Char Info command. + /// Looks up a localized string similar to Said by one of two bots when a player near them writes in the normal chat right after their conversation - unless the message matches a whisper reply keyword. Placeholders: {player}, {map}, {level}, {class}.. /// - public static string CharInfoChatCommandPlugIn_Name { + public static string BotChatConfiguration_ConversationJoinLines_Description { get { - return ResourceManager.GetString("CharInfoChatCommandPlugIn_Name", resourceCulture); + return ResourceManager.GetString("BotChatConfiguration_ConversationJoinLines_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Handles the chat command '/chatban <characterName> <durationMinutes>'. Bans the account of a character from chatting for the specified minutes.. + /// Looks up a localized string similar to Conversations: player chimes in. /// - public static string ChatBanCharChatCommandPlugIn_Description { + public static string BotChatConfiguration_ConversationJoinLines_Name { get { - return ResourceManager.GetString("ChatBanCharChatCommandPlugIn_Description", resourceCulture); + return ResourceManager.GetString("BotChatConfiguration_ConversationJoinLines_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Chat Ban Character command. + /// Looks up a localized string similar to Exchanges of two bots near a player, like the townsfolk of a role-playing game: one says the opener, the other answers. Drawn without repetition. Placeholders: {map}, {location}, {level}, {class} of the speaking bot, {partner} (the other bot).. /// - public static string ChatBanCharChatCommandPlugIn_Name { + public static string BotChatConfiguration_Conversations_Description { get { - return ResourceManager.GetString("ChatBanCharChatCommandPlugIn_Name", resourceCulture); + return ResourceManager.GetString("BotChatConfiguration_Conversations_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Handles the chat command '/chatunban <characterName>'. Unbans the account of a character from chatting.. + /// Looks up a localized string similar to Conversations. /// - public static string ChatUnbanCharChatCommandPlugIn_Description { + public static string BotChatConfiguration_Conversations_Name { get { - return ResourceManager.GetString("ChatUnbanCharChatCommandPlugIn_Description", resourceCulture); + return ResourceManager.GetString("BotChatConfiguration_Conversations_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Chat Ban Character command. + /// Looks up a localized string similar to Chance that a bot says why it turns down a trade or duel request, by whisper. It turns them down in any case: a bot has no trade window and doesn't duel.. /// - public static string ChatUnbanCharChatCommandPlugIn_Name { + public static string BotChatConfiguration_DeclineReplyChancePercent_Description { get { - return ResourceManager.GetString("ChatUnbanCharChatCommandPlugIn_Name", resourceCulture); + return ResourceManager.GetString("BotChatConfiguration_DeclineReplyChancePercent_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Clears inventory. Usage: /clearinv (optional:character). + /// Looks up a localized string similar to Trade/duel refusal: whisper chance (%). /// - public static string ClearInventoryChatCommandPlugIn_Description { + public static string BotChatConfiguration_DeclineReplyChancePercent_Name { get { - return ResourceManager.GetString("ClearInventoryChatCommandPlugIn_Description", resourceCulture); + return ResourceManager.GetString("BotChatConfiguration_DeclineReplyChancePercent_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Clear Inventory chat command. + /// Looks up a localized string similar to Whispered when a player challenges the bot to a duel. Placeholders: {player}, {level}, {map}, {location}.. /// - public static string ClearInventoryChatCommandPlugIn_Name { + public static string BotChatConfiguration_DuelDeclineLines_Description { get { - return ResourceManager.GetString("ClearInventoryChatCommandPlugIn_Name", resourceCulture); + return ResourceManager.GetString("BotChatConfiguration_DuelDeclineLines_Description", resourceCulture); } } /// - /// Looks up a localized string similar to The message to show when the player needs to run the command again within 10 seconds to confirm the inventory clearing.. + /// Looks up a localized string similar to Duel refused. /// - public static string ClearInventoryConfiguration_ConfirmationMessage_Description { + public static string BotChatConfiguration_DuelDeclineLines_Name { get { - return ResourceManager.GetString("ClearInventoryConfiguration_ConfirmationMessage_Description", resourceCulture); + return ResourceManager.GetString("BotChatConfiguration_DuelDeclineLines_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Confirmation Message. + /// Looks up a localized string similar to Said in the party chat by one bot per party when an event it went through with a player's party ended. Placeholders: {event}, {level}.. /// - public static string ClearInventoryConfiguration_ConfirmationMessage_Name { + public static string BotChatConfiguration_EventFinishedLines_Description { get { - return ResourceManager.GetString("ClearInventoryConfiguration_ConfirmationMessage_Name", resourceCulture); + return ResourceManager.GetString("BotChatConfiguration_EventFinishedLines_Description", resourceCulture); } } /// - /// Looks up a localized string similar to The message to show when the inventory is cleared.. + /// Looks up a localized string similar to Party: event finished. /// - public static string ClearInventoryConfiguration_InventoryClearedMessage_Description { + public static string BotChatConfiguration_EventFinishedLines_Name { get { - return ResourceManager.GetString("ClearInventoryConfiguration_InventoryClearedMessage_Description", resourceCulture); + return ResourceManager.GetString("BotChatConfiguration_EventFinishedLines_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Inventory Cleared Message. + /// Looks up a localized string similar to Posted with /post when the entrance of a Blood Castle, Devil Square or Chaos Castle opened; the bot then waits for players at the meeting point. Placeholders: {event}, {map} (the meeting point), {location} (the meeting point with coordinates), {level}.. /// - public static string ClearInventoryConfiguration_InventoryClearedMessage_Name { + public static string BotChatConfiguration_EventLines_Description { get { - return ResourceManager.GetString("ClearInventoryConfiguration_InventoryClearedMessage_Name", resourceCulture); + return ResourceManager.GetString("BotChatConfiguration_EventLines_Description", resourceCulture); } } /// - /// Looks up a localized string similar to The money cost to clear inventory (except GMs). Default: 0.. + /// Looks up a localized string similar to Event lines. /// - public static string ClearInventoryConfiguration_MoneyCost_Description { + public static string BotChatConfiguration_EventLines_Name { get { - return ResourceManager.GetString("ClearInventoryConfiguration_MoneyCost_Description", resourceCulture); + return ResourceManager.GetString("BotChatConfiguration_EventLines_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Money Cost. + /// Looks up a localized string similar to Chance that a bot which meets the entry requirements announces an opened Blood Castle, Devil Square or Chaos Castle with /post. Rolled once per event type and opening. 0 = never.. /// - public static string ClearInventoryConfiguration_MoneyCost_Name { + public static string BotChatConfiguration_EventPostChancePercent_Description { get { - return ResourceManager.GetString("ClearInventoryConfiguration_MoneyCost_Name", resourceCulture); + return ResourceManager.GetString("BotChatConfiguration_EventPostChancePercent_Description", resourceCulture); } } /// - /// Looks up a localized string similar to The message to show when the player does not have enough money to run the command.. + /// Looks up a localized string similar to Event post chance (%). /// - public static string ClearInventoryConfiguration_NotEnoughMoneyMessage_Description { + public static string BotChatConfiguration_EventPostChancePercent_Name { get { - return ResourceManager.GetString("ClearInventoryConfiguration_NotEnoughMoneyMessage_Description", resourceCulture); + return ResourceManager.GetString("BotChatConfiguration_EventPostChancePercent_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Not Enough Money Message. + /// Looks up a localized string similar to Chance that a bot in a town where a player stands reminds of an opened Blood Castle, Devil Square or Chaos Castle in the normal chat - once per town and opening, only a bot which meets the entry requirements. Independent of the /post chances. 0 = never.. /// - public static string ClearInventoryConfiguration_NotEnoughMoneyMessage_Name { + public static string BotChatConfiguration_EventReminderChancePercent_Description { get { - return ResourceManager.GetString("ClearInventoryConfiguration_NotEnoughMoneyMessage_Name", resourceCulture); + return ResourceManager.GetString("BotChatConfiguration_EventReminderChancePercent_Description", resourceCulture); } } /// - /// Looks up a localized string similar to If true, the player will need to run the command again within 10 seconds to confirm the inventory clearing (excluding GM).. + /// Looks up a localized string similar to Event reminder in town chance (%). /// - public static string ClearInventoryConfiguration_RequireConfirmation_Description { + public static string BotChatConfiguration_EventReminderChancePercent_Name { get { - return ResourceManager.GetString("ClearInventoryConfiguration_RequireConfirmation_Description", resourceCulture); + return ResourceManager.GetString("BotChatConfiguration_EventReminderChancePercent_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Require Confirmation. + /// Looks up a localized string similar to Said in the normal chat by a bot in a town when an event entrance opened. Placeholders: {event}, {map}, {location}, {level}.. /// - public static string ClearInventoryConfiguration_RequireConfirmation_Name { + public static string BotChatConfiguration_EventReminderLines_Description { get { - return ResourceManager.GetString("ClearInventoryConfiguration_RequireConfirmation_Name", resourceCulture); + return ResourceManager.GetString("BotChatConfiguration_EventReminderLines_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Handles the chat command '/createmonster <number> <intelligent>'. Creates a monster which can be remote controlled by the GM.. + /// Looks up a localized string similar to Event reminders in town. /// - public static string CreateMonsterChatCommand_Description { + public static string BotChatConfiguration_EventReminderLines_Name { get { - return ResourceManager.GetString("CreateMonsterChatCommand_Description", resourceCulture); + return ResourceManager.GetString("BotChatConfiguration_EventReminderLines_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Create monster chat command. + /// Looks up a localized string similar to Said to a player the bot was in a party with before - instead of a greeting when the player enters the game, and instead of the party lines when the player invites it again. Remembered until the server restarts. Placeholders: {player}, {level}, {map}.. /// - public static string CreateMonsterChatCommand_Name { + public static string BotChatConfiguration_FriendLines_Description { get { - return ResourceManager.GetString("CreateMonsterChatCommand_Name", resourceCulture); + return ResourceManager.GetString("BotChatConfiguration_FriendLines_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Lets the crywolf event proceed: it starts the event when it is not running, and during the battle Balgass appears if he did not yet. Otherwise, the current state ends.. + /// Looks up a localized string similar to Old party companions. /// - public static string CrywolfChatCommandPlugIn_Description { + public static string BotChatConfiguration_FriendLines_Name { get { - return ResourceManager.GetString("CrywolfChatCommandPlugIn_Description", resourceCulture); + return ResourceManager.GetString("BotChatConfiguration_FriendLines_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Chat command: /crywolf. + /// Looks up a localized string similar to Chance that the nearest bot greets a player who enters the game, in the normal chat. 0 = never.. /// - public static string CrywolfChatCommandPlugIn_Name { + public static string BotChatConfiguration_GreetingChancePercent_Description { get { - return ResourceManager.GetString("CrywolfChatCommandPlugIn_Name", resourceCulture); + return ResourceManager.GetString("BotChatConfiguration_GreetingChancePercent_Description", resourceCulture); } } /// - /// Looks up a localized string similar to The event in the crywolf fortress: the players defend the statue of the holy wolf against the army of Balgass. The result is kept until the next event.. + /// Looks up a localized string similar to Greeting chance (%). /// - public static string CrywolfPlugIn_Description { + public static string BotChatConfiguration_GreetingChancePercent_Name { get { - return ResourceManager.GetString("CrywolfPlugIn_Description", resourceCulture); + return ResourceManager.GetString("BotChatConfiguration_GreetingChancePercent_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Crywolf Event. + /// Looks up a localized string similar to Minimum time between two greetings of the same player, so logging out and in again doesn't start a round of greetings.. /// - public static string CrywolfPlugIn_Name { + public static string BotChatConfiguration_GreetingCooldown_Description { get { - return ResourceManager.GetString("CrywolfPlugIn_Name", resourceCulture); + return ResourceManager.GetString("BotChatConfiguration_GreetingCooldown_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Handles the chat command '/disconnect <char>'. Disconnects a player from the game server.. + /// Looks up a localized string similar to Greeting cooldown per player. /// - public static string DisconnectChatCommandPlugIn_Description { + public static string BotChatConfiguration_GreetingCooldown_Name { get { - return ResourceManager.GetString("DisconnectChatCommandPlugIn_Description", resourceCulture); + return ResourceManager.GetString("BotChatConfiguration_GreetingCooldown_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Disconnect chat command. + /// Looks up a localized string similar to Said by the nearest bot in the normal chat when a player entered the game. Placeholders: {player}, {level}, {map}, {location} (the bot's map and coordinates, e.g. "Devias 215, 40").. /// - public static string DisconnectChatCommandPlugIn_Name { + public static string BotChatConfiguration_GreetingLines_Description { get { - return ResourceManager.GetString("DisconnectChatCommandPlugIn_Name", resourceCulture); + return ResourceManager.GetString("BotChatConfiguration_GreetingLines_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Links the account to a Discord user: '/discord link' creates a code which is entered in Discord, '/discord unlink' removes the link, '/discord notify letter' turns direct messages about letters on or off (also 'login' and 'friend').. + /// Looks up a localized string similar to Greetings. /// - public static string DiscordChatCommandPlugIn_Description { + public static string BotChatConfiguration_GreetingLines_Name { get { - return ResourceManager.GetString("DiscordChatCommandPlugIn_Description", resourceCulture); + return ResourceManager.GetString("BotChatConfiguration_GreetingLines_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Discord command. + /// Looks up a localized string similar to Posted with /post when an invasion started. Placeholders: {event}, {map}, {location} (the map alone), {level}.. /// - public static string DiscordChatCommandPlugIn_Name { + public static string BotChatConfiguration_InvasionLines_Description { get { - return ResourceManager.GetString("DiscordChatCommandPlugIn_Name", resourceCulture); + return ResourceManager.GetString("BotChatConfiguration_InvasionLines_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Configures the run of the doppelganger event, e.g. its monsters, their paths and multipliers.. + /// Looks up a localized string similar to Invasion lines. /// - public static string DoppelgangerFeaturePlugIn_Description { + public static string BotChatConfiguration_InvasionLines_Name { get { - return ResourceManager.GetString("DoppelgangerFeaturePlugIn_Description", resourceCulture); + return ResourceManager.GetString("BotChatConfiguration_InvasionLines_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Doppelganger event. + /// Looks up a localized string similar to Chance that a bot which may warp to the invaded map announces a started invasion with /post. 0 = never.. /// - public static string DoppelgangerFeaturePlugIn_Name { + public static string BotChatConfiguration_InvasionPostChancePercent_Description { get { - return ResourceManager.GetString("DoppelgangerFeaturePlugIn_Name", resourceCulture); + return ResourceManager.GetString("BotChatConfiguration_InvasionPostChancePercent_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Opens the reward chests of the doppelganger event, when a player talks to them.. + /// Looks up a localized string similar to Invasion post chance (%). /// - public static string DoppelgangerRewardChestPlugIn_Description { + public static string BotChatConfiguration_InvasionPostChancePercent_Name { get { - return ResourceManager.GetString("DoppelgangerRewardChestPlugIn_Description", resourceCulture); + return ResourceManager.GetString("BotChatConfiguration_InvasionPostChancePercent_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Doppelganger reward chests. + /// Looks up a localized string similar to Said instead of the "Killed by a player" lines when the same player killed the bot again within a short time. Placeholders: {player}, {level}, {map}, {location}.. /// - public static string DoppelgangerRewardChestPlugIn_Name { + public static string BotChatConfiguration_KilledAgainLines_Description { get { - return ResourceManager.GetString("DoppelgangerRewardChestPlugIn_Name", resourceCulture); + return ResourceManager.GetString("BotChatConfiguration_KilledAgainLines_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Handles the dragon roar skill of the rage fighter class. Additionally to the attacked target, it will hit up to seven additional targets.. + /// Looks up a localized string similar to Killed again. /// - public static string DragonRoarSkillPlugIn_Description { + public static string BotChatConfiguration_KilledAgainLines_Name { get { - return ResourceManager.GetString("DragonRoarSkillPlugIn_Description", resourceCulture); + return ResourceManager.GetString("BotChatConfiguration_KilledAgainLines_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Dragon Roar Skill. + /// Looks up a localized string similar to Chance that a bot killed by a player (outside of an event) says something about it in the normal chat, before it respawns. 0 = never.. /// - public static string DragonRoarSkillPlugIn_Name { + public static string BotChatConfiguration_KilledByPlayerChancePercent_Description { get { - return ResourceManager.GetString("DragonRoarSkillPlugIn_Name", resourceCulture); + return ResourceManager.GetString("BotChatConfiguration_KilledByPlayerChancePercent_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Handles the drain life skill of the summoner class. Additionally to the attacked target, it regains life for damage dealt.. + /// Looks up a localized string similar to Killed by a player chance (%). /// - public static string DrainLifeSkillPlugIn_Description { + public static string BotChatConfiguration_KilledByPlayerChancePercent_Name { get { - return ResourceManager.GetString("DrainLifeSkillPlugIn_Description", resourceCulture); + return ResourceManager.GetString("BotChatConfiguration_KilledByPlayerChancePercent_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Drain Life Skill. + /// Looks up a localized string similar to Said in the normal chat when a player killed the bot outside of an event. Placeholders: {player} (the killer), {level}, {map}, {location} (the bot's map and coordinates, e.g. "Devias 215, 40").. /// - public static string DrainLifeSkillPlugIn_Name { + public static string BotChatConfiguration_KilledLines_Description { get { - return ResourceManager.GetString("DrainLifeSkillPlugIn_Name", resourceCulture); + return ResourceManager.GetString("BotChatConfiguration_KilledLines_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Updates the durabilty of time-decaying items.. + /// Looks up a localized string similar to Killed by a player. /// - public static string DurabilityDecayPlugIn_Description { + public static string BotChatConfiguration_KilledLines_Name { get { - return ResourceManager.GetString("DurabilityDecayPlugIn_Description", resourceCulture); + return ResourceManager.GetString("BotChatConfiguration_KilledLines_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Durability Decay. + /// Looks up a localized string similar to Chance that a bot comments on reaching a level milestone, in the normal chat.. /// - public static string DurabilityDecayPlugIn_Name { + public static string BotChatConfiguration_LevelMilestoneChancePercent_Description { get { - return ResourceManager.GetString("DurabilityDecayPlugIn_Name", resourceCulture); + return ResourceManager.GetString("BotChatConfiguration_LevelMilestoneChancePercent_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Handles the earth shake skill of the dark horse. Pushes the targets away from the attacker.. + /// Looks up a localized string similar to Level milestone chance (%). /// - public static string EarthShakeSkillPlugIn_Description { + public static string BotChatConfiguration_LevelMilestoneChancePercent_Name { get { - return ResourceManager.GetString("EarthShakeSkillPlugIn_Description", resourceCulture); + return ResourceManager.GetString("BotChatConfiguration_LevelMilestoneChancePercent_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Earth shake skill. + /// Looks up a localized string similar to Said in the normal chat when the bot reached a level milestone. Placeholders: {level}, {map}, {location} (the bot's map and coordinates, e.g. "Devias 215, 40").. /// - public static string EarthShakeSkillPlugIn_Name { + public static string BotChatConfiguration_LevelMilestoneLines_Description { get { - return ResourceManager.GetString("EarthShakeSkillPlugIn_Name", resourceCulture); + return ResourceManager.GetString("BotChatConfiguration_LevelMilestoneLines_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Plugin which handles the elite healing potion consumption. It recovers the health immediately.. + /// Looks up a localized string similar to Level milestones. /// - public static string EliteHealingPotionConsumeHandlerPlugIn_Description { + public static string BotChatConfiguration_LevelMilestoneLines_Name { get { - return ResourceManager.GetString("EliteHealingPotionConsumeHandlerPlugIn_Description", resourceCulture); + return ResourceManager.GetString("BotChatConfiguration_LevelMilestoneLines_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Elite Healing Potion Consume Handler. + /// Looks up a localized string similar to Every how many levels a bot may comment on its level-up. 0 = never.. /// - public static string EliteHealingPotionConsumeHandlerPlugIn_Name { + public static string BotChatConfiguration_LevelMilestoneStep_Description { get { - return ResourceManager.GetString("EliteHealingPotionConsumeHandlerPlugIn_Name", resourceCulture); + return ResourceManager.GetString("BotChatConfiguration_LevelMilestoneStep_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Plugin which handles the elite mana potion consumption. It recovers the mana immediately.. + /// Looks up a localized string similar to Level milestone step. /// - public static string EliteManaPotionConsumeHandlerPlugIn_Description { + public static string BotChatConfiguration_LevelMilestoneStep_Name { get { - return ResourceManager.GetString("EliteManaPotionConsumeHandlerPlugIn_Description", resourceCulture); + return ResourceManager.GetString("BotChatConfiguration_LevelMilestoneStep_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Elite Mana Potion Consume Handler. + /// Looks up a localized string similar to A bot waits a random time up to this value before it posts about an event.. /// - public static string EliteManaPotionConsumeHandlerPlugIn_Name { + public static string BotChatConfiguration_MaxPostDelay_Description { get { - return ResourceManager.GetString("EliteManaPotionConsumeHandlerPlugIn_Name", resourceCulture); + return ResourceManager.GetString("BotChatConfiguration_MaxPostDelay_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Plugin which handles the elite SD potion consumption. It recovers the shield immediately.. + /// Looks up a localized string similar to Maximum post delay. /// - public static string EliteShieldPotionConsumeHandlerPlugIn_Description { + public static string BotChatConfiguration_MaxPostDelay_Name { get { - return ResourceManager.GetString("EliteShieldPotionConsumeHandlerPlugIn_Description", resourceCulture); + return ResourceManager.GetString("BotChatConfiguration_MaxPostDelay_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Elite SD Potion Consume Handler. + /// Looks up a localized string similar to Said now and then in the normal chat by a bot standing in a safezone, like a merchant advertising. Off by default. Placeholders: {level}, {map}, {location}.. /// - public static string EliteShieldPotionConsumeHandlerPlugIn_Name { + public static string BotChatConfiguration_MerchantLines_Description { get { - return ResourceManager.GetString("EliteShieldPotionConsumeHandlerPlugIn_Name", resourceCulture); + return ResourceManager.GetString("BotChatConfiguration_MerchantLines_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Ends the duel when one of the duelists leaves the duel map. If a spectator leaves the duel map, it's removed from the spectator list, too.. + /// Looks up a localized string similar to Merchant adverts. /// - public static string EndDuelWhenLeavingDuelMapPlugIn_Description { + public static string BotChatConfiguration_MerchantLines_Name { get { - return ResourceManager.GetString("EndDuelWhenLeavingDuelMapPlugIn_Description", resourceCulture); + return ResourceManager.GetString("BotChatConfiguration_MerchantLines_Name", resourceCulture); } } /// - /// Looks up a localized string similar to End Duel When Leaving Duel Map. + /// Looks up a localized string similar to Chance that a bot advertises when the interval is over. 0 (default) = never: the lines are meant for a future merchant bot.. /// - public static string EndDuelWhenLeavingDuelMapPlugIn_Name { + public static string BotChatConfiguration_MerchantTalkChancePercent_Description { get { - return ResourceManager.GetString("EndDuelWhenLeavingDuelMapPlugIn_Name", resourceCulture); + return ResourceManager.GetString("BotChatConfiguration_MerchantTalkChancePercent_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Handles the fire scream skill of the dark lord class. Based on a chance, it does an additional damage (explosion) to any targets in a radius which origin is the target itself.. + /// Looks up a localized string similar to Merchant adverts: chance (%). /// - public static string FireScreamSkillPlugIn_Description { + public static string BotChatConfiguration_MerchantTalkChancePercent_Name { get { - return ResourceManager.GetString("FireScreamSkillPlugIn_Description", resourceCulture); + return ResourceManager.GetString("BotChatConfiguration_MerchantTalkChancePercent_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Fire scream skill. + /// Looks up a localized string similar to How often a bot standing in a safezone may advertise like a merchant, per game server. Only when a player sees it.. /// - public static string FireScreamSkillPlugIn_Name { + public static string BotChatConfiguration_MerchantTalkInterval_Description { get { - return ResourceManager.GetString("FireScreamSkillPlugIn_Name", resourceCulture); + return ResourceManager.GetString("BotChatConfiguration_MerchantTalkInterval_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Handles the force skill of the dark lord.. + /// Looks up a localized string similar to Merchant adverts: interval. /// - public static string ForceSkillAction_Description { + public static string BotChatConfiguration_MerchantTalkInterval_Name { get { - return ResourceManager.GetString("ForceSkillAction_Description", resourceCulture); + return ResourceManager.GetString("BotChatConfiguration_MerchantTalkInterval_Name", resourceCulture); } } /// - /// Looks up a localized string similar to ForceSkillAction. + /// Looks up a localized string similar to Typical words and letters by which a bot recognizes the language of a player's message: it answers in that language, even when the player's account language is another one. A message which doesn't tell is answered in the player's own language.. /// - public static string ForceSkillAction_Name { + public static string BotChatConfiguration_MessageLanguages_Description { get { - return ResourceManager.GetString("ForceSkillAction_Name", resourceCulture); + return ResourceManager.GetString("BotChatConfiguration_MessageLanguages_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Handles the force wave strengthener skill of the dark lord.. + /// Looks up a localized string similar to Message languages. /// - public static string ForceWaveStrengSkillAction_Description { + public static string BotChatConfiguration_MessageLanguages_Name { get { - return ResourceManager.GetString("ForceWaveStrengSkillAction_Description", resourceCulture); + return ResourceManager.GetString("BotChatConfiguration_MessageLanguages_Name", resourceCulture); } } /// - /// Looks up a localized string similar to ForceWaveStrengSkillAction. + /// Looks up a localized string similar to Minimum time between two /post messages of bots on one game server.. /// - public static string ForceWaveStrengSkillAction_Name { + public static string BotChatConfiguration_MinTimeBetweenPosts_Description { get { - return ResourceManager.GetString("ForceWaveStrengSkillAction_Name", resourceCulture); + return ResourceManager.GetString("BotChatConfiguration_MinTimeBetweenPosts_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Plugin which handles the reset fruit of strength, which takes back invested strength points and returns them as level up points.. + /// Looks up a localized string similar to Minimum time between posts. /// - public static string StrengthResetFruitConsumeHandlerPlugIn_Description { + public static string BotChatConfiguration_MinTimeBetweenPosts_Name { get { - return ResourceManager.GetString("StrengthResetFruitConsumeHandlerPlugIn_Description", resourceCulture); + return ResourceManager.GetString("BotChatConfiguration_MinTimeBetweenPosts_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Reset Fruit of Strength Consume Handler. + /// Looks up a localized string similar to Chance that a bot calls out a notable monster which appeared near it while a player sees it. 0 = never.. /// - public static string StrengthResetFruitConsumeHandlerPlugIn_Name { + public static string BotChatConfiguration_NotableMonsterChancePercent_Description { get { - return ResourceManager.GetString("StrengthResetFruitConsumeHandlerPlugIn_Name", resourceCulture); + return ResourceManager.GetString("BotChatConfiguration_NotableMonsterChancePercent_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Plugin which handles the reset fruit of agility, which takes back invested agility points and returns them as level up points.. + /// Looks up a localized string similar to Notable monster call-out chance (%). /// - public static string AgilityResetFruitConsumeHandlerPlugIn_Description { + public static string BotChatConfiguration_NotableMonsterChancePercent_Name { get { - return ResourceManager.GetString("AgilityResetFruitConsumeHandlerPlugIn_Description", resourceCulture); + return ResourceManager.GetString("BotChatConfiguration_NotableMonsterChancePercent_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Reset Fruit of Agility Consume Handler. + /// Looks up a localized string similar to Said by a bot when a notable monster appeared near it. Placeholders: {monster}, {map}, {location}.. /// - public static string AgilityResetFruitConsumeHandlerPlugIn_Name { + public static string BotChatConfiguration_NotableMonsterLines_Description { get { - return ResourceManager.GetString("AgilityResetFruitConsumeHandlerPlugIn_Name", resourceCulture); + return ResourceManager.GetString("BotChatConfiguration_NotableMonsterLines_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Plugin which handles the reset fruit of vitality, which takes back invested vitality points and returns them as level up points.. + /// Looks up a localized string similar to Notable monster call-outs. /// - public static string VitalityResetFruitConsumeHandlerPlugIn_Description { + public static string BotChatConfiguration_NotableMonsterLines_Name { get { - return ResourceManager.GetString("VitalityResetFruitConsumeHandlerPlugIn_Description", resourceCulture); + return ResourceManager.GetString("BotChatConfiguration_NotableMonsterLines_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Reset Fruit of Vitality Consume Handler. + /// Looks up a localized string similar to Comma-separated numbers of the monsters a bot calls out when they appear near it. By default the golden monsters, the Red Dragon and the White Wizard.. /// - public static string VitalityResetFruitConsumeHandlerPlugIn_Name { + public static string BotChatConfiguration_NotableMonsterNumbers_Description { get { - return ResourceManager.GetString("VitalityResetFruitConsumeHandlerPlugIn_Name", resourceCulture); + return ResourceManager.GetString("BotChatConfiguration_NotableMonsterNumbers_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Plugin which handles the reset fruit of energy, which takes back invested energy points and returns them as level up points.. + /// Looks up a localized string similar to Notable monsters. /// - public static string EnergyResetFruitConsumeHandlerPlugIn_Description { + public static string BotChatConfiguration_NotableMonsterNumbers_Name { get { - return ResourceManager.GetString("EnergyResetFruitConsumeHandlerPlugIn_Description", resourceCulture); + return ResourceManager.GetString("BotChatConfiguration_NotableMonsterNumbers_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Reset Fruit of Energy Consume Handler. + /// Looks up a localized string similar to Said by a bot which put on the new wings it earned at a level milestone, while a player sees it. Placeholders: {wings}, {level}, {map}.. /// - public static string EnergyResetFruitConsumeHandlerPlugIn_Name { + public static string BotChatConfiguration_OwnWingsLines_Description { get { - return ResourceManager.GetString("EnergyResetFruitConsumeHandlerPlugIn_Name", resourceCulture); + return ResourceManager.GetString("BotChatConfiguration_OwnWingsLines_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Plugin which handles the reset fruit of command, which takes back invested command points and returns them as level up points.. + /// Looks up a localized string similar to Own new wings. /// - public static string CommandResetFruitConsumeHandlerPlugIn_Description { + public static string BotChatConfiguration_OwnWingsLines_Name { get { - return ResourceManager.GetString("CommandResetFruitConsumeHandlerPlugIn_Description", resourceCulture); + return ResourceManager.GetString("BotChatConfiguration_OwnWingsLines_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Points per durability. + /// Looks up a localized string similar to Whispered when the bot didn't understand where to meet. Placeholders: {player}, {level}, {class}.. /// - public static string ResetFruitConsumeHandlerConfiguration_PointsPerDurability_Name { + public static string BotChatConfiguration_PartyAskWhereLines_Description { get { - return ResourceManager.GetString("ResetFruitConsumeHandlerConfiguration_PointsPerDurability_Name", resourceCulture); + return ResourceManager.GetString("BotChatConfiguration_PartyAskWhereLines_Description", resourceCulture); } } /// - /// Looks up a localized string similar to The number of stat points which one durability of a reset fruit takes back.. + /// Looks up a localized string similar to Party search: where?. /// - public static string ResetFruitConsumeHandlerConfiguration_PointsPerDurability_Description { + public static string BotChatConfiguration_PartyAskWhereLines_Name { get { - return ResourceManager.GetString("ResetFruitConsumeHandlerConfiguration_PointsPerDurability_Description", resourceCulture); + return ResourceManager.GetString("BotChatConfiguration_PartyAskWhereLines_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Reset Fruit of Command Consume Handler. + /// Looks up a localized string similar to Comma-separated words for the Blood Castle in a party search. Followed by the event level, like "party bc7", they call the bots which may enter that Blood Castle.. /// - public static string CommandResetFruitConsumeHandlerPlugIn_Name { + public static string BotChatConfiguration_PartyBloodCastleKeywords_Description { get { - return ResourceManager.GetString("CommandResetFruitConsumeHandlerPlugIn_Name", resourceCulture); + return ResourceManager.GetString("BotChatConfiguration_PartyBloodCastleKeywords_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Plugin which handles the fruit consumption.. + /// Looks up a localized string similar to Party search: Blood Castle words. /// - public static string FruitConsumeHandlerPlugIn_Description { + public static string BotChatConfiguration_PartyBloodCastleKeywords_Name { get { - return ResourceManager.GetString("FruitConsumeHandlerPlugIn_Description", resourceCulture); + return ResourceManager.GetString("BotChatConfiguration_PartyBloodCastleKeywords_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Fruit Consume Handler. + /// Looks up a localized string similar to Whispered when the bot may not go to the named map: its level is too low, or the map can't be reached by warp. Placeholders: {player}, {map} (the named map), {level}.. /// - public static string FruitConsumeHandlerPlugIn_Name { + public static string BotChatConfiguration_PartyCantGoLines_Description { get { - return ResourceManager.GetString("FruitConsumeHandlerPlugIn_Name", resourceCulture); + return ResourceManager.GetString("BotChatConfiguration_PartyCantGoLines_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Boss monster numbers. + /// Looks up a localized string similar to Party search: can't go. /// - public static string GameEventPublisherConfiguration_BossMonsterNumbers_Name { + public static string BotChatConfiguration_PartyCantGoLines_Name { get { - return ResourceManager.GetString("GameEventPublisherConfiguration_BossMonsterNumbers_Name", resourceCulture); + return ResourceManager.GetString("BotChatConfiguration_PartyCantGoLines_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Level milestones. + /// Looks up a localized string similar to Comma-separated words for the Chaos Castle in a party search. Followed by the event level, like "party cc3", they call the bots which may enter that Chaos Castle.. /// - public static string GameEventPublisherConfiguration_LevelMilestones_Name { + public static string BotChatConfiguration_PartyChaosCastleKeywords_Description { get { - return ResourceManager.GetString("GameEventPublisherConfiguration_LevelMilestones_Name", resourceCulture); + return ResourceManager.GetString("BotChatConfiguration_PartyChaosCastleKeywords_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Master level milestones. + /// Looks up a localized string similar to Party search: Chaos Castle words. /// - public static string GameEventPublisherConfiguration_MasterLevelMilestones_Name { + public static string BotChatConfiguration_PartyChaosCastleKeywords_Name { get { - return ResourceManager.GetString("GameEventPublisherConfiguration_MasterLevelMilestones_Name", resourceCulture); + return ResourceManager.GetString("BotChatConfiguration_PartyChaosCastleKeywords_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Publish ancient item drops. + /// Looks up a localized string similar to Chance that a bot says something in the party chat of a player: thanks for the invitation, "gg" after an event. 0 = never.. /// - public static string GameEventPublisherConfiguration_PublishAncientItemDrops_Name { + public static string BotChatConfiguration_PartyChatChancePercent_Description { get { - return ResourceManager.GetString("GameEventPublisherConfiguration_PublishAncientItemDrops_Name", resourceCulture); + return ResourceManager.GetString("BotChatConfiguration_PartyChatChancePercent_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Publish boss kills. + /// Looks up a localized string similar to Party chat chance (%). /// - public static string GameEventPublisherConfiguration_PublishBossKills_Name { + public static string BotChatConfiguration_PartyChatChancePercent_Name { get { - return ResourceManager.GetString("GameEventPublisherConfiguration_PublishBossKills_Name", resourceCulture); + return ResourceManager.GetString("BotChatConfiguration_PartyChatChancePercent_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Publish castle siege events. + /// Looks up a localized string similar to The words players use for the character classes in a party search, e.g. "dk, bk, bm". The class number stands for its whole line of classes.. /// - public static string GameEventPublisherConfiguration_PublishCastleSiegeEvents_Name { + public static string BotChatConfiguration_PartyClassAliases_Description { get { - return ResourceManager.GetString("GameEventPublisherConfiguration_PublishCastleSiegeEvents_Name", resourceCulture); + return ResourceManager.GetString("BotChatConfiguration_PartyClassAliases_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Publish guild, alliance and world chat. + /// Looks up a localized string similar to Party search: class words. /// - public static string GameEventPublisherConfiguration_PublishChatMessages_Name { + public static string BotChatConfiguration_PartyClassAliases_Name { get { - return ResourceManager.GetString("GameEventPublisherConfiguration_PublishChatMessages_Name", resourceCulture); + return ResourceManager.GetString("BotChatConfiguration_PartyClassAliases_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Publish excellent item drops. + /// Looks up a localized string similar to Comma-separated words for the Devil Square in a party search. Followed by the event level, like "party ds5", they call the bots which may enter that Devil Square.. /// - public static string GameEventPublisherConfiguration_PublishExcellentItemDrops_Name { + public static string BotChatConfiguration_PartyDevilSquareKeywords_Description { get { - return ResourceManager.GetString("GameEventPublisherConfiguration_PublishExcellentItemDrops_Name", resourceCulture); + return ResourceManager.GetString("BotChatConfiguration_PartyDevilSquareKeywords_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Publish global notices of game masters. + /// Looks up a localized string similar to Party search: Devil Square words. /// - public static string GameEventPublisherConfiguration_PublishGlobalNotices_Name { + public static string BotChatConfiguration_PartyDevilSquareKeywords_Name { get { - return ResourceManager.GetString("GameEventPublisherConfiguration_PublishGlobalNotices_Name", resourceCulture); + return ResourceManager.GetString("BotChatConfiguration_PartyDevilSquareKeywords_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Publish invasion events. + /// Looks up a localized string similar to Comma-separated words with which the player tells an answering bot to come to where the player stands, instead of naming a map and coordinates.. /// - public static string GameEventPublisherConfiguration_PublishInvasionEvents_Name { + public static string BotChatConfiguration_PartyHereKeywords_Description { get { - return ResourceManager.GetString("GameEventPublisherConfiguration_PublishInvasionEvents_Name", resourceCulture); + return ResourceManager.GetString("BotChatConfiguration_PartyHereKeywords_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Publish level milestones. + /// Looks up a localized string similar to Party search: "here" words. /// - public static string GameEventPublisherConfiguration_PublishLevelMilestones_Name { + public static string BotChatConfiguration_PartyHereKeywords_Name { get { - return ResourceManager.GetString("GameEventPublisherConfiguration_PublishLevelMilestones_Name", resourceCulture); + return ResourceManager.GetString("BotChatConfiguration_PartyHereKeywords_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Publish mini game events. + /// Looks up a localized string similar to Said in the party chat after the bot accepted a player's invitation. Placeholders: {player} (the inviter), {level}, {map}, {location} (the bot's map and coordinates, e.g. "Devias 215, 40").. /// - public static string GameEventPublisherConfiguration_PublishMiniGameEvents_Name { + public static string BotChatConfiguration_PartyJoinedLines_Description { get { - return ResourceManager.GetString("GameEventPublisherConfiguration_PublishMiniGameEvents_Name", resourceCulture); + return ResourceManager.GetString("BotChatConfiguration_PartyJoinedLines_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Publishes events of the game, like mini games, invasions, castle siege state changes and rare item drops, to the whole server, e.g. for a Discord integration.. + /// Looks up a localized string similar to Party: joined. /// - public static string GameEventPublisherPlugIn_Description { + public static string BotChatConfiguration_PartyJoinedLines_Name { get { - return ResourceManager.GetString("GameEventPublisherPlugIn_Description", resourceCulture); + return ResourceManager.GetString("BotChatConfiguration_PartyJoinedLines_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Game Event Publisher. + /// Looks up a localized string similar to How long a bot waits at the meeting place for the party invitation before it goes back to hunting.. /// - public static string GameEventPublisherPlugIn_Name { + public static string BotChatConfiguration_PartyMeetingWaitTime_Description { get { - return ResourceManager.GetString("GameEventPublisherPlugIn_Name", resourceCulture); + return ResourceManager.GetString("BotChatConfiguration_PartyMeetingWaitTime_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Handle Gatekeeper NPC Request. + /// Looks up a localized string similar to Party search: waiting time. /// - public static string GatekeeperNpcPlugin_Description { + public static string BotChatConfiguration_PartyMeetingWaitTime_Name { get { - return ResourceManager.GetString("GatekeeperNpcPlugin_Description", resourceCulture); + return ResourceManager.GetString("BotChatConfiguration_PartyMeetingWaitTime_Name", resourceCulture); } } /// - /// Looks up a localized string similar to GatekeeperNpcPlugin. + /// Looks up a localized string similar to How long a bot which answered a party search waits for the player to whisper back where to meet, e.g. "devias 215 40".. /// - public static string GatekeeperNpcPlugin_Name { + public static string BotChatConfiguration_PartyOfferTimeout_Description { get { - return ResourceManager.GetString("GatekeeperNpcPlugin_Name", resourceCulture); + return ResourceManager.GetString("BotChatConfiguration_PartyOfferTimeout_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Only gens members can enter the battle zone. Kills between the members of different gens in it change their contribution points, without making the killer an outlaw.. + /// Looks up a localized string similar to Party search: answer timeout. /// - public static string GensBattleZonePlugIn_Description { + public static string BotChatConfiguration_PartyOfferTimeout_Name { get { - return ResourceManager.GetString("GensBattleZonePlugIn_Description", resourceCulture); + return ResourceManager.GetString("BotChatConfiguration_PartyOfferTimeout_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Gens battle zone. + /// Looks up a localized string similar to Whispered when the bot sets off to the meeting place. Placeholders: {player}, {map} and {location} (the meeting place).. /// - public static string GensBattleZonePlugIn_Name { + public static string BotChatConfiguration_PartyOnTheWayLines_Description { get { - return ResourceManager.GetString("GensBattleZonePlugIn_Name", resourceCulture); + return ResourceManager.GetString("BotChatConfiguration_PartyOnTheWayLines_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Configures the gens system, in which the players can join one of the gens Duprian and Vanert at their npcs.. + /// Looks up a localized string similar to Party search: on the way. /// - public static string GensFeaturePlugIn_Description { + public static string BotChatConfiguration_PartyOnTheWayLines_Name { get { - return ResourceManager.GetString("GensFeaturePlugIn_Description", resourceCulture); + return ResourceManager.GetString("BotChatConfiguration_PartyOnTheWayLines_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Gens system. + /// Looks up a localized string similar to Comma-separated words which mark a /post as a party search. The post also needs a level: "300-350", "300+", "min 300" or "300" - or an event with its level, like "bc7".. /// - public static string GensFeaturePlugIn_Name { + public static string BotChatConfiguration_PartyRequestKeywords_Description { get { - return ResourceManager.GetString("GensFeaturePlugIn_Name", resourceCulture); + return ResourceManager.GetString("BotChatConfiguration_PartyRequestKeywords_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Loads the gens membership of a character when it enters the game, and shows it to the player.. + /// Looks up a localized string similar to Party search: keywords. /// - public static string GensMembershipPlugIn_Description { + public static string BotChatConfiguration_PartyRequestKeywords_Name { get { - return ResourceManager.GetString("GensMembershipPlugIn_Description", resourceCulture); + return ResourceManager.GetString("BotChatConfiguration_PartyRequestKeywords_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Gens membership. + /// Looks up a localized string similar to How many bots whisper to a player who searches party members with /post, e.g. "/post party 300-350 bk dw". The same search posted again is answered by other bots. 0 = off.. /// - public static string GensMembershipPlugIn_Name { + public static string BotChatConfiguration_PartyVolunteerCount_Description { get { - return ResourceManager.GetString("GensMembershipPlugIn_Name", resourceCulture); + return ResourceManager.GetString("BotChatConfiguration_PartyVolunteerCount_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Calculates the ranking of the gens in the configured interval, and updates the ranking positions and ranks of all members.. + /// Looks up a localized string similar to Party search: answering bots. /// - public static string GensRankingPlugIn_Description { + public static string BotChatConfiguration_PartyVolunteerCount_Name { get { - return ResourceManager.GetString("GensRankingPlugIn_Description", resourceCulture); + return ResourceManager.GetString("BotChatConfiguration_PartyVolunteerCount_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Gens ranking. + /// Looks up a localized string similar to Whispered to a player whose party search the bot answers. Placeholders: {player}, {level}, {class}, {map}, {location}.. /// - public static string GensRankingPlugIn_Name { + public static string BotChatConfiguration_PartyVolunteerLines_Description { get { - return ResourceManager.GetString("GensRankingPlugIn_Name", resourceCulture); + return ResourceManager.GetString("BotChatConfiguration_PartyVolunteerLines_Description", resourceCulture); } } /// - /// Looks up a localized string similar to The rules of the gens for parties, guilds and alliances: no party between different gens and in the battle zone, guilds and alliances only within a gens.. + /// Looks up a localized string similar to Party search: answers. /// - public static string GensRelationshipRulesPlugIn_Description { + public static string BotChatConfiguration_PartyVolunteerLines_Name { get { - return ResourceManager.GetString("GensRelationshipRulesPlugIn_Description", resourceCulture); + return ResourceManager.GetString("BotChatConfiguration_PartyVolunteerLines_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Gens relationship rules. + /// Looks up a localized string similar to Said by the nearest bot when a player put on wings - once per player and pair until the server restarts. Placeholders: {player}, {wings} (the player's), {map}.. /// - public static string GensRelationshipRulesPlugIn_Name { + public static string BotChatConfiguration_PlayerWingsLines_Description { get { - return ResourceManager.GetString("GensRelationshipRulesPlugIn_Name", resourceCulture); + return ResourceManager.GetString("BotChatConfiguration_PlayerWingsLines_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Gets level of a player. Usage: /getlevel (optional:character). + /// Looks up a localized string similar to Player's wings comments. /// - public static string GetLevelChatCommandPlugIn_Description { + public static string BotChatConfiguration_PlayerWingsLines_Name { get { - return ResourceManager.GetString("GetLevelChatCommandPlugIn_Description", resourceCulture); + return ResourceManager.GetString("BotChatConfiguration_PlayerWingsLines_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Get level command. + /// Looks up a localized string similar to Chance that the nearest bot comments on an excellent or ancient item a player's kill dropped ("nice drop!"). 0 = never.. /// - public static string GetLevelChatCommandPlugIn_Name { + public static string BotChatConfiguration_RareDropChancePercent_Description { get { - return ResourceManager.GetString("GetLevelChatCommandPlugIn_Name", resourceCulture); + return ResourceManager.GetString("BotChatConfiguration_RareDropChancePercent_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Gets level up points of a player. Usage: /getleveluppoints (optional:character). + /// Looks up a localized string similar to Rare drop comment chance (%). /// - public static string GetLevelUpPointsChatCommandPlugIn_Description { + public static string BotChatConfiguration_RareDropChancePercent_Name { get { - return ResourceManager.GetString("GetLevelUpPointsChatCommandPlugIn_Description", resourceCulture); + return ResourceManager.GetString("BotChatConfiguration_RareDropChancePercent_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Get level up points command. + /// Looks up a localized string similar to Said by the nearest bot when a player's kill dropped an excellent or ancient item. Placeholders: {player}, {item}, {map}.. /// - public static string GetLevelUpPointsChatCommandPlugIn_Name { + public static string BotChatConfiguration_RareDropLines_Description { get { - return ResourceManager.GetString("GetLevelUpPointsChatCommandPlugIn_Name", resourceCulture); + return ResourceManager.GetString("BotChatConfiguration_RareDropLines_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Gets master level of a player. Usage: /getmasterlevel (optional:character). + /// Looks up a localized string similar to Rare drop comments. /// - public static string GetMasterLevelChatCommandPlugIn_Description { + public static string BotChatConfiguration_RareDropLines_Name { get { - return ResourceManager.GetString("GetMasterLevelChatCommandPlugIn_Description", resourceCulture); + return ResourceManager.GetString("BotChatConfiguration_RareDropLines_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Get master level command. + /// Looks up a localized string similar to Said by the nearest bot when a player made a reset. Placeholders: {player}, {level} and {resets} of the player, {map}.. /// - public static string GetMasterLevelChatCommandPlugIn_Name { + public static string BotChatConfiguration_ResetCongratulationLines_Description { get { - return ResourceManager.GetString("GetMasterLevelChatCommandPlugIn_Name", resourceCulture); + return ResourceManager.GetString("BotChatConfiguration_ResetCongratulationLines_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Gets master level up points of a player. Usage: /getmasterleveluppoints (optional:character). + /// Looks up a localized string similar to Congratulations: reset. /// - public static string GetMasterLevelUpPointsChatCommandPlugIn_Description { + public static string BotChatConfiguration_ResetCongratulationLines_Name { get { - return ResourceManager.GetString("GetMasterLevelUpPointsChatCommandPlugIn_Description", resourceCulture); + return ResourceManager.GetString("BotChatConfiguration_ResetCongratulationLines_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Get master level up points command. + /// Looks up a localized string similar to Whispered when a player asks the bot for a trade. Placeholders: {player}, {level}, {map}, {location}.. /// - public static string GetMasterLevelUpPointsChatCommandPlugIn_Name { + public static string BotChatConfiguration_TradeDeclineLines_Description { get { - return ResourceManager.GetString("GetMasterLevelUpPointsChatCommandPlugIn_Name", resourceCulture); + return ResourceManager.GetString("BotChatConfiguration_TradeDeclineLines_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Gets money of a player. Usage: /getmoney (optional:character). + /// Looks up a localized string similar to Trade refused. /// - public static string GetMoneyChatCommandPlugIn_Description { + public static string BotChatConfiguration_TradeDeclineLines_Name { get { - return ResourceManager.GetString("GetMoneyChatCommandPlugIn_Description", resourceCulture); + return ResourceManager.GetString("BotChatConfiguration_TradeDeclineLines_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Get money command. + /// Looks up a localized string similar to Answers to a player who whispered to the bot or mentioned its name in the normal chat next to it. The best keyword match wins; replies without keywords are the fallback. Placeholders: {player}, {level}, {map}, {location} (the bot's map and coordinates, e.g. "Devias 215, 40"), {wings} (the bot's wings; a bot without wings answers with one of the answers without wings).. /// - public static string GetMoneyChatCommandPlugIn_Name { + public static string BotChatConfiguration_WhisperReplies_Description { get { - return ResourceManager.GetString("GetMoneyChatCommandPlugIn_Name", resourceCulture); + return ResourceManager.GetString("BotChatConfiguration_WhisperReplies_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Gets resets of a player. Usage: /getresets (optional:character). + /// Looks up a localized string similar to Whisper replies. /// - public static string GetResetsChatCommandPlugIn_Description { + public static string BotChatConfiguration_WhisperReplies_Name { get { - return ResourceManager.GetString("GetResetsChatCommandPlugIn_Description", resourceCulture); + return ResourceManager.GetString("BotChatConfiguration_WhisperReplies_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Get resets command. + /// Looks up a localized string similar to Chance that a bot answers a whisper of a player. 0 = never.. /// - public static string GetResetsChatCommandPlugIn_Name { + public static string BotChatConfiguration_WhisperReplyChancePercent_Description { get { - return ResourceManager.GetString("GetResetsChatCommandPlugIn_Name", resourceCulture); + return ResourceManager.GetString("BotChatConfiguration_WhisperReplyChancePercent_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Get stat points. Usage: /get (ene|agi|vit|str|cmd) (optional:character). + /// Looks up a localized string similar to Whisper reply chance (%). /// - public static string GetStatChatCommandPlugIn_Description { + public static string BotChatConfiguration_WhisperReplyChancePercent_Name { get { - return ResourceManager.GetString("GetStatChatCommandPlugIn_Description", resourceCulture); + return ResourceManager.GetString("BotChatConfiguration_WhisperReplyChancePercent_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Get Stat chat command. + /// Looks up a localized string similar to Minimum time between two whisper replies of the same bot.. /// - public static string GetStatChatCommandPlugIn_Name { + public static string BotChatConfiguration_WhisperReplyCooldown_Description { get { - return ResourceManager.GetString("GetStatChatCommandPlugIn_Name", resourceCulture); + return ResourceManager.GetString("BotChatConfiguration_WhisperReplyCooldown_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Gives players Goblin Points of the cash shop for their play time.. + /// Looks up a localized string similar to Whisper reply cooldown. /// - public static string GoblinPointsForPlayTimePlugIn_Description { + public static string BotChatConfiguration_WhisperReplyCooldown_Name { get { - return ResourceManager.GetString("GoblinPointsForPlayTimePlugIn_Description", resourceCulture); + return ResourceManager.GetString("BotChatConfiguration_WhisperReplyCooldown_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Goblin Points for play time. + /// Looks up a localized string similar to Chance that a bot comments on wings: its own new pair earned at a level milestone ("finally, my wings!"), or the wings a player next to it put on ("nice wings!"). 0 = never.. /// - public static string GoblinPointsForPlayTimePlugIn_Name { + public static string BotChatConfiguration_WingsChancePercent_Description { get { - return ResourceManager.GetString("GoblinPointsForPlayTimePlugIn_Name", resourceCulture); + return ResourceManager.GetString("BotChatConfiguration_WingsChancePercent_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Handle Golden Invasion event. + /// Looks up a localized string similar to Wings comment chance (%). /// - public static string GoldenInvasionPlugIn_Description { + public static string BotChatConfiguration_WingsChancePercent_Name { get { - return ResourceManager.GetString("GoldenInvasionPlugIn_Description", resourceCulture); + return ResourceManager.GetString("BotChatConfiguration_WingsChancePercent_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Golden Invasion. + /// Looks up a localized string similar to Said instead of a whisper reply with {wings} when the bot has no wings yet ("no wings yet, saving up"). Placeholders: {player}, {level}, {map}.. /// - public static string GoldenInvasionPlugIn_Name { + public static string BotChatConfiguration_WithoutWingsLines_Description { get { - return ResourceManager.GetString("GoldenInvasionPlugIn_Name", resourceCulture); + return ResourceManager.GetString("BotChatConfiguration_WithoutWingsLines_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Handles the chat command '/battlesoccer <guildname>'. Sends a request to the guild master of the requested guild.. + /// Looks up a localized string similar to Answers without wings. /// - public static string GuildBattleSoccerChatCommandPlugIn_Description { + public static string BotChatConfiguration_WithoutWingsLines_Name { get { - return ResourceManager.GetString("GuildBattleSoccerChatCommandPlugIn_Description", resourceCulture); + return ResourceManager.GetString("BotChatConfiguration_WithoutWingsLines_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Guild battle soccer chat command. + /// Looks up a localized string similar to The language code, e.g. pl.. /// - public static string GuildBattleSoccerChatCommandPlugIn_Name { + public static string BotChatLanguageHint_Language_Description { get { - return ResourceManager.GetString("GuildBattleSoccerChatCommandPlugIn_Name", resourceCulture); + return ResourceManager.GetString("BotChatLanguageHint_Language_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Tells players when they enter the game, if the chat of their guild or alliance is mirrored to Discord.. + /// Looks up a localized string similar to Language. /// - public static string GuildChatBridgeNoticePlugIn_Description { + public static string BotChatLanguageHint_Language_Name { get { - return ResourceManager.GetString("GuildChatBridgeNoticePlugIn_Description", resourceCulture); + return ResourceManager.GetString("BotChatLanguageHint_Language_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Notice about the chat bridge. + /// Looks up a localized string similar to Letters only this language uses, e.g. ąćęłńóśźż. One of them in a message counts like a typical word.. /// - public static string GuildChatBridgeNoticePlugIn_Name { + public static string BotChatLanguageHint_Letters_Description { get { - return ResourceManager.GetString("GuildChatBridgeNoticePlugIn_Name", resourceCulture); + return ResourceManager.GetString("BotChatLanguageHint_Letters_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Handles the chat command '/guilddisconnect <guild>'. Disconnect the guild members.. + /// Looks up a localized string similar to Letters. /// - public static string GuildDisconnectChatCommandPlugIn_Description { + public static string BotChatLanguageHint_Letters_Name { get { - return ResourceManager.GetString("GuildDisconnectChatCommandPlugIn_Description", resourceCulture); + return ResourceManager.GetString("BotChatLanguageHint_Letters_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Guild disconnect chat command. + /// Looks up a localized string similar to Comma-separated typical words of the language. The language with the most hits in a message wins; a tie leaves it open.. /// - public static string GuildDisconnectChatCommandPlugIn_Name { + public static string BotChatLanguageHint_Words_Description { get { - return ResourceManager.GetString("GuildDisconnectChatCommandPlugIn_Name", resourceCulture); + return ResourceManager.GetString("BotChatLanguageHint_Words_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Handles the chat command '/guildmove <guild> <map> <x?> <y?>'. Move the character from a guild to a specified map and coordinates.. + /// Looks up a localized string similar to Typical words. /// - public static string GuildMoveChatCommandPlugIn_Description { + public static string BotChatLanguageHint_Words_Name { get { - return ResourceManager.GetString("GuildMoveChatCommandPlugIn_Description", resourceCulture); + return ResourceManager.GetString("BotChatLanguageHint_Words_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Guild move chat command. + /// Looks up a localized string similar to A gesture the bot makes with it, like a player typing /hello: Greeting, Goodbye, Clap, Cheer, Win, Smile, Respect, Salute, Cry, Awkward or Provocation. The bot turns to the player it talks to.. /// - public static string GuildMoveChatCommandPlugIn_Name { + public static string BotChatLine_Gesture_Description { get { - return ResourceManager.GetString("GuildMoveChatCommandPlugIn_Name", resourceCulture); + return ResourceManager.GetString("BotChatLine_Gesture_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Handles the chat command '/war <guild>'. Sends a request to the guild master of the requested guild.. + /// Looks up a localized string similar to Gesture. /// - public static string GuildWarChatCommandPlugIn_Description { + public static string BotChatLine_Gesture_Name { get { - return ResourceManager.GetString("GuildWarChatCommandPlugIn_Description", resourceCulture); + return ResourceManager.GetString("BotChatLine_Gesture_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Guild war chat command. + /// Looks up a localized string similar to What the bot says. The placeholders in curly braces which the list offers are filled in - see the description of the list.. /// - public static string GuildWarChatCommandPlugIn_Name { + public static string BotChatLine_Text_Description { get { - return ResourceManager.GetString("GuildWarChatCommandPlugIn_Name", resourceCulture); + return ResourceManager.GetString("BotChatLine_Text_Description", resourceCulture); } } /// - /// Looks up a localized string similar to This plugin increases the score of the soccer result, if a kill occurred.. + /// Looks up a localized string similar to Text. /// - public static string GuildWarKillScorePlugIn_Description { + public static string BotChatLine_Text_Name { get { - return ResourceManager.GetString("GuildWarKillScorePlugIn_Description", resourceCulture); + return ResourceManager.GetString("BotChatLine_Text_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Guild soccer kill score. + /// Looks up a localized string similar to When it may be said, by the local time of the server: Anytime, Morning (5-11), Day (11-18), Evening (18-23) or Night (23-5).. /// - public static string GuildWarKillScorePlugIn_Name { + public static string BotChatLine_When_Description { get { - return ResourceManager.GetString("GuildWarKillScorePlugIn_Name", resourceCulture); + return ResourceManager.GetString("BotChatLine_When_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Experience multiplier. + /// Looks up a localized string similar to When. /// - public static string HappyHourConfiguration_ExperienceMultiplier_Name { + public static string BotChatLine_When_Name { get { - return ResourceManager.GetString("HappyHourConfiguration_ExperienceMultiplier_Name", resourceCulture); + return ResourceManager.GetString("BotChatLine_When_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Handle Happy Hour event. + /// Looks up a localized string similar to Lets server-side bots talk: they announce events and invasions with /post, comment on level milestones and answer whispers, using configurable lines.. /// - public static string HappyHourPlugIn_Description { + public static string BotChatPlugIn_Description { get { - return ResourceManager.GetString("HappyHourPlugIn_Description", resourceCulture); + return ResourceManager.GetString("BotChatPlugIn_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Happy Hour. + /// Looks up a localized string similar to Bot chat. /// - public static string HappyHourPlugIn_Name { + public static string BotChatPlugIn_Name { get { - return ResourceManager.GetString("HappyHourPlugIn_Name", resourceCulture); + return ResourceManager.GetString("BotChatPlugIn_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Plugin which handles the jewel of harmony consumption.. + /// Looks up a localized string similar to Comma-separated words or phrases of a player's message which this reply answers, e.g. "how are you, how r u". Whole words, case and punctuation are ignored. Replies without keywords are used when nothing matches.. /// - public static string HarmonyJewelConsumeHandlerPlugIn_Description { + public static string BotChatReply_Keywords_Description { get { - return ResourceManager.GetString("HarmonyJewelConsumeHandlerPlugIn_Description", resourceCulture); + return ResourceManager.GetString("BotChatReply_Keywords_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Harmony Jewel Consume Handler. + /// Looks up a localized string similar to Keywords. /// - public static string HarmonyJewelConsumeHandlerPlugIn_Name { + public static string BotChatReply_Keywords_Name { get { - return ResourceManager.GetString("HarmonyJewelConsumeHandlerPlugIn_Name", resourceCulture); + return ResourceManager.GetString("BotChatReply_Keywords_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Handles the /help <command> chat command. Shows information about the requested command.. + /// Looks up a localized string similar to The number of a character class of the line, e.g. 4 for the Dark Knight - the whole line (Dark Knight, Blade Knight, Blade Master) is meant.. /// - public static string HelpCommand_Description { + public static string BotClassAlias_ClassNumber_Description { get { - return ResourceManager.GetString("HelpCommand_Description", resourceCulture); + return ResourceManager.GetString("BotClassAlias_ClassNumber_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Help command. + /// Looks up a localized string similar to Class number. /// - public static string HelpCommand_Name { + public static string BotClassAlias_ClassNumber_Name { get { - return ResourceManager.GetString("HelpCommand_Name", resourceCulture); + return ResourceManager.GetString("BotClassAlias_ClassNumber_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Handles the chat command '/hide'. Hides the own player from others.. + /// Looks up a localized string similar to Comma-separated words for the class line, e.g. "dk, bk, bm, knight". Whole words, case and punctuation are ignored.. /// - public static string HideChatCommandPlugIn_Description { + public static string BotClassAlias_Keywords_Description { get { - return ResourceManager.GetString("HideChatCommandPlugIn_Description", resourceCulture); + return ResourceManager.GetString("BotClassAlias_Keywords_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Hide command. + /// Looks up a localized string similar to Words. /// - public static string HideChatCommandPlugIn_Name { + public static string BotClassAlias_Keywords_Name { get { - return ResourceManager.GetString("HideChatCommandPlugIn_Name", resourceCulture); + return ResourceManager.GetString("BotClassAlias_Keywords_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Plugin which handles the higher refine stone consumption.. + /// Looks up a localized string similar to Share of a game server's maximum player count which its bots may occupy; the rest stays reserved for real players.. /// - public static string HigherRefineStoneConsumeHandlerPlugIn_Description { + public static string BotConfiguration_BotCapacityPercent_Description { get { - return ResourceManager.GetString("HigherRefineStoneConsumeHandlerPlugIn_Description", resourceCulture); + return ResourceManager.GetString("BotConfiguration_BotCapacityPercent_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Higher Refine Stone Consume Handler. + /// Looks up a localized string similar to Bot capacity %. /// - public static string HigherRefineStoneConsumeHandlerPlugIn_Name { + public static string BotConfiguration_BotCapacityPercent_Name { get { - return ResourceManager.GetString("HigherRefineStoneConsumeHandlerPlugIn_Name", resourceCulture); + return ResourceManager.GetString("BotConfiguration_BotCapacityPercent_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Configures the run of the imperial guardian event, e.g. its times, the experience reward and the scaling of the monsters.. + /// Looks up a localized string similar to If enabled, bots consume the configured zen/item costs for their resets like human players (default: free bot resets).. /// - public static string ImperialGuardianFeaturePlugIn_Description { + public static string BotConfiguration_BotsPayResetCosts_Description { get { - return ResourceManager.GetString("ImperialGuardianFeaturePlugIn_Description", resourceCulture); + return ResourceManager.GetString("BotConfiguration_BotsPayResetCosts_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Imperial Guardian event. + /// Looks up a localized string similar to Bots pay reset costs. /// - public static string ImperialGuardianFeaturePlugIn_Name { + public static string BotConfiguration_BotsPayResetCosts_Name { get { - return ResourceManager.GetString("ImperialGuardianFeaturePlugIn_Name", resourceCulture); + return ResourceManager.GetString("BotConfiguration_BotsPayResetCosts_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Adds an inventory extension to the character when a player uses the Magic Backpack from the cash shop storage.. + /// Looks up a localized string similar to If enabled, bots are spawned after the server has started.. /// - public static string InventoryExtensionDeliveryPlugIn_Description { + public static string BotConfiguration_Enabled_Description { get { - return ResourceManager.GetString("InventoryExtensionDeliveryPlugIn_Description", resourceCulture); + return ResourceManager.GetString("BotConfiguration_Enabled_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Cash shop: Magic Backpack. + /// Looks up a localized string similar to Enabled. /// - public static string InventoryExtensionDeliveryPlugIn_Name { + public static string BotConfiguration_Enabled_Name { get { - return ResourceManager.GetString("InventoryExtensionDeliveryPlugIn_Name", resourceCulture); + return ResourceManager.GetString("BotConfiguration_Enabled_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Handles the chat command '/item <group> <number> <lvl?> <exc?> <sk?> <lu?> <opt?> <anc?> <ancBonuslvl?>'. Drops a specific item next to the character.. + /// Looks up a localized string similar to How many Jewels of Bless/Soul/Life a bot keeps of each kind; above this it stops picking them up and sells the surplus.. /// - public static string ItemChatCommandPlugIn_Description { + public static string BotConfiguration_JewelStockPerKind_Description { get { - return ResourceManager.GetString("ItemChatCommandPlugIn_Description", resourceCulture); + return ResourceManager.GetString("BotConfiguration_JewelStockPerKind_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Item chat command. + /// Looks up a localized string similar to Jewel stock per kind. /// - public static string ItemChatCommandPlugIn_Name { + public static string BotConfiguration_JewelStockPerKind_Name { get { - return ResourceManager.GetString("ItemChatCommandPlugIn_Name", resourceCulture); + return ResourceManager.GetString("BotConfiguration_JewelStockPerKind_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Handles the chat command '/killall'. Kills all monsters on the current map.. + /// Looks up a localized string similar to Maps bots never warp to: no hunting, following or events there, and a bot which logs in on one leaves it. Players are not affected.. /// - public static string KillAllMonstersChatCommandPlugIn_Description { + public static string BotConfiguration_MapsForbiddenForBots_Description { get { - return ResourceManager.GetString("KillAllMonstersChatCommandPlugIn_Description", resourceCulture); + return ResourceManager.GetString("BotConfiguration_MapsForbiddenForBots_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Kill all monsters chat command. + /// Looks up a localized string similar to Maps forbidden for bots. /// - public static string KillAllMonstersChatCommandPlugIn_Name { + public static string BotConfiguration_MapsForbiddenForBots_Name { get { - return ResourceManager.GetString("KillAllMonstersChatCommandPlugIn_Name", resourceCulture); + return ResourceManager.GetString("BotConfiguration_MapsForbiddenForBots_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Plugin which handles the large complex potion consumption.. + /// Looks up a localized string similar to How many characters each bot account holds (max 5).. /// - public static string LargeComplexPotionConsumeHandlerPlugIn_Description { + public static string BotConfiguration_MaxCharactersPerAccount_Description { get { - return ResourceManager.GetString("LargeComplexPotionConsumeHandlerPlugIn_Description", resourceCulture); + return ResourceManager.GetString("BotConfiguration_MaxCharactersPerAccount_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Large Complex Potion Consume Handler. + /// Looks up a localized string similar to Characters per account. /// - public static string LargeComplexPotionConsumeHandlerPlugIn_Name { + public static string BotConfiguration_MaxCharactersPerAccount_Name { get { - return ResourceManager.GetString("LargeComplexPotionConsumeHandlerPlugIn_Name", resourceCulture); + return ResourceManager.GetString("BotConfiguration_MaxCharactersPerAccount_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Plugin which handles the large health potion consumption.. + /// Looks up a localized string similar to Percentage of the bot population which stays online at the quietest hour (100 = no rotation effect).. /// - public static string LargeHealthPotionConsumeHandlerPlugIn_Description { + public static string BotConfiguration_MinOnlineSharePercent_Description { get { - return ResourceManager.GetString("LargeHealthPotionConsumeHandlerPlugIn_Description", resourceCulture); + return ResourceManager.GetString("BotConfiguration_MinOnlineSharePercent_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Large Health Potion Consume Handler. + /// Looks up a localized string similar to Min. online share %. /// - public static string LargeHealthPotionConsumeHandlerPlugIn_Name { + public static string BotConfiguration_MinOnlineSharePercent_Name { get { - return ResourceManager.GetString("LargeHealthPotionConsumeHandlerPlugIn_Name", resourceCulture); + return ResourceManager.GetString("BotConfiguration_MinOnlineSharePercent_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Plugin which handles the large mana potion consumption.. + /// Looks up a localized string similar to How many bot accounts to maintain.. /// - public static string LargeManaPotionConsumeHandler_Description { + public static string BotConfiguration_NumberOfAccounts_Description { get { - return ResourceManager.GetString("LargeManaPotionConsumeHandler_Description", resourceCulture); + return ResourceManager.GetString("BotConfiguration_NumberOfAccounts_Description", resourceCulture); } } /// - /// Looks up a localized string similar to LargeManaPotionConsumeHandler. + /// Looks up a localized string similar to Number of accounts. /// - public static string LargeManaPotionConsumeHandler_Name { + public static string BotConfiguration_NumberOfAccounts_Name { get { - return ResourceManager.GetString("LargeManaPotionConsumeHandler_Name", resourceCulture); + return ResourceManager.GetString("BotConfiguration_NumberOfAccounts_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Plugin which handles the large shield potion consumption.. + /// Looks up a localized string similar to How many healing and mana potion charges a bot buys up to at a merchant.. /// - public static string LargeShieldPotionConsumeHandlerPlugIn_Description { + public static string BotConfiguration_PotionStockCharges_Description { get { - return ResourceManager.GetString("LargeShieldPotionConsumeHandlerPlugIn_Description", resourceCulture); + return ResourceManager.GetString("BotConfiguration_PotionStockCharges_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Large Shield Potion Consume Handler. + /// Looks up a localized string similar to Potion stock (charges). /// - public static string LargeShieldPotionConsumeHandlerPlugIn_Name { + public static string BotConfiguration_PotionStockCharges_Name { get { - return ResourceManager.GetString("LargeShieldPotionConsumeHandlerPlugIn_Name", resourceCulture); + return ResourceManager.GetString("BotConfiguration_PotionStockCharges_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Plugin which handles the consumption of items which add skills (e.g. scrolls, orbs).. + /// Looks up a localized string similar to Bots log in and out over the day (fewest at night, most in the evening) instead of all being online 24/7.. /// - public static string LearnablesConsumeHandlerPlugIn_Description { + public static string BotConfiguration_PresenceRotation_Description { get { - return ResourceManager.GetString("LearnablesConsumeHandlerPlugIn_Description", resourceCulture); + return ResourceManager.GetString("BotConfiguration_PresenceRotation_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Learnables Consume Handler. + /// Looks up a localized string similar to Presence rotation. /// - public static string LearnablesConsumeHandlerPlugIn_Name { + public static string BotConfiguration_PresenceRotation_Name { get { - return ResourceManager.GetString("LearnablesConsumeHandlerPlugIn_Name", resourceCulture); + return ResourceManager.GetString("BotConfiguration_PresenceRotation_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Plugin which handles the jewel of life consumption.. + /// Looks up a localized string similar to Comma separated login names of existing accounts to animate as bots, in addition to the generated population.. /// - public static string LifeJewelConsumeHandlerPlugIn_Description { + public static string BotConfiguration_ProofOfConceptAccounts_Description { get { - return ResourceManager.GetString("LifeJewelConsumeHandlerPlugIn_Description", resourceCulture); + return ResourceManager.GetString("BotConfiguration_ProofOfConceptAccounts_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Life Jewel Consume Handler. + /// Looks up a localized string similar to Extra accounts to animate. /// - public static string LifeJewelConsumeHandlerPlugIn_Name { + public static string BotConfiguration_ProofOfConceptAccounts_Name { get { - return ResourceManager.GetString("LifeJewelConsumeHandlerPlugIn_Name", resourceCulture); + return ResourceManager.GetString("BotConfiguration_ProofOfConceptAccounts_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Lists all the commands.. + /// Looks up a localized string similar to Deletes all bot accounts and characters and turns the bot feature off, without generating new ones. Clears itself afterwards.. /// - public static string ListCommand_Description { + public static string BotConfiguration_PurgeBots_Description { get { - return ResourceManager.GetString("ListCommand_Description", resourceCulture); + return ResourceManager.GetString("BotConfiguration_PurgeBots_Description", resourceCulture); } } /// - /// Looks up a localized string similar to List command. + /// Looks up a localized string similar to Purge bots. /// - public static string ListCommand_Name { + public static string BotConfiguration_PurgeBots_Name { get { - return ResourceManager.GetString("ListCommand_Name", resourceCulture); + return ResourceManager.GetString("BotConfiguration_PurgeBots_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Plugin which handles the lower refine stone consumption.. + /// Looks up a localized string similar to Deletes all bot accounts and characters on the next start, then regenerates them. Clears itself afterwards.. /// - public static string LowerRefineStoneConsumeHandlerPlugIn_Description { + public static string BotConfiguration_ResetBots_Description { get { - return ResourceManager.GetString("LowerRefineStoneConsumeHandlerPlugIn_Description", resourceCulture); + return ResourceManager.GetString("BotConfiguration_ResetBots_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Lower Refine Stone Consume Handler. + /// Looks up a localized string similar to Reset bots. /// - public static string LowerRefineStoneConsumeHandlerPlugIn_Name { + public static string BotConfiguration_ResetBots_Name { get { - return ResourceManager.GetString("LowerRefineStoneConsumeHandlerPlugIn_Name", resourceCulture); + return ResourceManager.GetString("BotConfiguration_ResetBots_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Plugin which handles the medium complex potion consumption.. + /// Looks up a localized string similar to Newly generated bots start at level 1 with level-0 starter equipment, like a freshly created player character, instead of with a random level, reset history and upgraded gear.. /// - public static string MediumComplexPotionConsumeHandlerPlugIn_Description { + public static string BotConfiguration_StartAsFreshCharacters_Description { get { - return ResourceManager.GetString("MediumComplexPotionConsumeHandlerPlugIn_Description", resourceCulture); + return ResourceManager.GetString("BotConfiguration_StartAsFreshCharacters_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Medium Complex Potion Consume Handler. + /// Looks up a localized string similar to Start as fresh characters. /// - public static string MediumComplexPotionConsumeHandlerPlugIn_Name { + public static string BotConfiguration_StartAsFreshCharacters_Name { get { - return ResourceManager.GetString("MediumComplexPotionConsumeHandlerPlugIn_Name", resourceCulture); + return ResourceManager.GetString("BotConfiguration_StartAsFreshCharacters_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Plugin which handles the medium elite healing potion consumption. It recovers a part of the health immediately.. + /// Looks up a localized string similar to What the first bot says.. /// - public static string MediumEliteHealingPotionConsumeHandlerPlugIn_Description { + public static string BotConversation_Opener_Description { get { - return ResourceManager.GetString("MediumEliteHealingPotionConsumeHandlerPlugIn_Description", resourceCulture); + return ResourceManager.GetString("BotConversation_Opener_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Medium Elite Healing Potion Consume Handler. + /// Looks up a localized string similar to Opener. /// - public static string MediumEliteHealingPotionConsumeHandlerPlugIn_Name { + public static string BotConversation_Opener_Name { get { - return ResourceManager.GetString("MediumEliteHealingPotionConsumeHandlerPlugIn_Name", resourceCulture); + return ResourceManager.GetString("BotConversation_Opener_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Plugin which handles the medium health potion consumption.. + /// Looks up a localized string similar to What the second bot answers, a few seconds later.. /// - public static string MediumHealthPotionConsumeHandlerPlugIn_Description { + public static string BotConversation_Reply_Description { get { - return ResourceManager.GetString("MediumHealthPotionConsumeHandlerPlugIn_Description", resourceCulture); + return ResourceManager.GetString("BotConversation_Reply_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Medium Health Potion Consume Handler. + /// Looks up a localized string similar to Reply. /// - public static string MediumHealthPotionConsumeHandlerPlugIn_Name { + public static string BotConversation_Reply_Name { get { - return ResourceManager.GetString("MediumHealthPotionConsumeHandlerPlugIn_Name", resourceCulture); + return ResourceManager.GetString("BotConversation_Reply_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Plugin which handles the medium mana potion consumption.. + /// Looks up a localized string similar to What the first bot says back to the reply, a few seconds later. Empty for a conversation of two lines.. /// - public static string MediumManaPotionConsumeHandler_Description { + public static string BotConversation_Riposte_Description { get { - return ResourceManager.GetString("MediumManaPotionConsumeHandler_Description", resourceCulture); + return ResourceManager.GetString("BotConversation_Riposte_Description", resourceCulture); } } /// - /// Looks up a localized string similar to MediumManaPotionConsumeHandler. + /// Looks up a localized string similar to Riposte. /// - public static string MediumManaPotionConsumeHandler_Name { + public static string BotConversation_Riposte_Name { get { - return ResourceManager.GetString("MediumManaPotionConsumeHandler_Name", resourceCulture); + return ResourceManager.GetString("BotConversation_Riposte_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Plugin which handles the medium shield potion consumption.. + /// Looks up a localized string similar to Where the bots may have this conversation: Town (both in a safezone), Hunting (both outside of it) or Anywhere.. /// - public static string MediumShieldPotionConsumeHandlerPlugIn_Description { + public static string BotConversation_Where_Description { get { - return ResourceManager.GetString("MediumShieldPotionConsumeHandlerPlugIn_Description", resourceCulture); + return ResourceManager.GetString("BotConversation_Where_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Medium Shield Potion Consume Handler. + /// Looks up a localized string similar to Where. /// - public static string MediumShieldPotionConsumeHandlerPlugIn_Name { + public static string BotConversation_Where_Name { get { - return ResourceManager.GetString("MediumShieldPotionConsumeHandlerPlugIn_Name", resourceCulture); + return ResourceManager.GetString("BotConversation_Where_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Entrance closed message. + /// Looks up a localized string similar to Spawns server-side bots which hunt monsters on the maps. Configure the accounts to animate and enable the feature.. /// - public static string MiniGameStartConfiguration_EntranceClosedMessage_Name { + public static string BotFeaturePlugIn_Description { get { - return ResourceManager.GetString("MiniGameStartConfiguration_EntranceClosedMessage_Name", resourceCulture); + return ResourceManager.GetString("BotFeaturePlugIn_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Entrance opened message. + /// Looks up a localized string similar to Bots. /// - public static string MiniGameStartConfiguration_EntranceOpenedMessage_Name { + public static string BotFeaturePlugIn_Name { get { - return ResourceManager.GetString("MiniGameStartConfiguration_EntranceOpenedMessage_Name", resourceCulture); + return ResourceManager.GetString("BotFeaturePlugIn_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Tower open duration. + /// Looks up a localized string similar to Makes server-side bots return to their death site and take revenge on the player who killed them.. /// - public static string KanturuStartConfiguration_TowerOpenDuration_Name { + public static string BotRevengePlugIn_Description { get { - return ResourceManager.GetString("KanturuStartConfiguration_TowerOpenDuration_Name", resourceCulture); + return ResourceManager.GetString("BotRevengePlugIn_Description", resourceCulture); } } /// - /// Looks up a localized string similar to How long the Tower of Refinement stays open after the Nightmare boss has been defeated. While the window is open, scheduled event starts are skipped; a game master start still proceeds and ends the window.. + /// Looks up a localized string similar to Bot revenge. /// - public static string KanturuStartConfiguration_TowerOpenDuration_Description { + public static string BotRevengePlugIn_Name { get { - return ResourceManager.GetString("KanturuStartConfiguration_TowerOpenDuration_Description", resourceCulture); + return ResourceManager.GetString("BotRevengePlugIn_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Tower open until (UTC). + /// Looks up a localized string similar to Handles the chat command '/botsay <bot> <text>'. A game master makes a server-side bot say the text in the normal chat, to the players who see it - e.g. for staged scenes of an event. Only bots, never a player's character.. /// - public static string KanturuStartConfiguration_TowerOpenUntilUtc_Name { + public static string BotSayChatCommandPlugIn_Description { get { - return ResourceManager.GetString("KanturuStartConfiguration_TowerOpenUntilUtc_Name", resourceCulture); + return ResourceManager.GetString("BotSayChatCommandPlugIn_Description", resourceCulture); } } /// - /// Looks up a localized string similar to End of the current open window in UTC. Set automatically when Nightmare is defeated.. + /// Looks up a localized string similar to Chat command: /botsay. /// - public static string KanturuStartConfiguration_TowerOpenUntilUtc_Description { + public static string BotSayChatCommandPlugIn_Name { get { - return ResourceManager.GetString("KanturuStartConfiguration_TowerOpenUntilUtc_Description", resourceCulture); + return ResourceManager.GetString("BotSayChatCommandPlugIn_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Increases all monster base stats by a configurable percentage.. + /// Looks up a localized string similar to Makes server-side bots fight back when a player attacks them.. /// - public static string MonsterAttributeScaler_Description { + public static string BotSelfDefensePlugIn_Description { get { - return ResourceManager.GetString("MonsterAttributeScaler_Description", resourceCulture); + return ResourceManager.GetString("BotSelfDefensePlugIn_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Monster Attribute Scaler. + /// Looks up a localized string similar to Bot self defense. /// - public static string MonsterAttributeScaler_Name { + public static string BotSelfDefensePlugIn_Name { get { - return ResourceManager.GetString("MonsterAttributeScaler_Name", resourceCulture); + return ResourceManager.GetString("BotSelfDefensePlugIn_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Handles the chat command '/move <target> <mapIdOrName?> <x?> <y?>'. Moves the character to the specified destination.. + /// Looks up a localized string similar to Invests level-up stat points and teaches server-side bots new class- and level-appropriate skills as they level up.. /// - public static string MoveChatCommandPlugIn_Description { + public static string BotSkillProgressionPlugIn_Description { get { - return ResourceManager.GetString("MoveChatCommandPlugIn_Description", resourceCulture); + return ResourceManager.GetString("BotSkillProgressionPlugIn_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Move chat command. + /// Looks up a localized string similar to Bot skill progression. /// - public static string MoveChatCommandPlugIn_Name { + public static string BotSkillProgressionPlugIn_Name { get { - return ResourceManager.GetString("MoveChatCommandPlugIn_Name", resourceCulture); + return ResourceManager.GetString("BotSkillProgressionPlugIn_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Handles the chat command '/movemonster <id> <x> <y>'. Moves a previously created monster which can be remote controlled by the GM.. + /// Looks up a localized string similar to The in-game cash shop. When it's deactivated, the cash shop can't be opened. Its configuration holds the settings, e.g. about gifts and the storage size.. /// - public static string MoveMonsterChatCommand_Description { + public static string CashShopFeaturePlugIn_Description { get { - return ResourceManager.GetString("MoveMonsterChatCommand_Description", resourceCulture); + return ResourceManager.GetString("CashShopFeaturePlugIn_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Move remote monster chat command. + /// Looks up a localized string similar to Cash shop. /// - public static string MoveMonsterChatCommand_Name { + public static string CashShopFeaturePlugIn_Name { get { - return ResourceManager.GetString("MoveMonsterChatCommand_Name", resourceCulture); + return ResourceManager.GetString("CashShopFeaturePlugIn_Name", resourceCulture); } } /// - /// Looks up a localized string similar to This value is applied per pay interval and multiplied with the total character level.. + /// Looks up a localized string similar to Sends the versions of the cash shop script and banner to the player when it enters the game.. /// - public static string MuHelperConfiguration_CostPerStage_Description { + public static string CashShopVersionPlugIn_Description { get { - return ResourceManager.GetString("MuHelperConfiguration_CostPerStage_Description", resourceCulture); + return ResourceManager.GetString("CashShopVersionPlugIn_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Cost per stage. + /// Looks up a localized string similar to Cash shop version. /// - public static string MuHelperConfiguration_CostPerStage_Name { + public static string CashShopVersionPlugIn_Name { get { - return ResourceManager.GetString("MuHelperConfiguration_CostPerStage_Name", resourceCulture); + return ResourceManager.GetString("CashShopVersionPlugIn_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Maximum character level. + /// Looks up a localized string similar to Shows Land of Trials availability and its applicable entry fee.. /// - public static string MuHelperConfiguration_MaxLevel_Name { + public static string CastleSiegeGuardsmanTalkPlugIn_Description { get { - return ResourceManager.GetString("MuHelperConfiguration_MaxLevel_Name", resourceCulture); + return ResourceManager.GetString("CastleSiegeGuardsmanTalkPlugIn_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Minimum character level. + /// Looks up a localized string similar to Castle Siege Guardsman. /// - public static string MuHelperConfiguration_MinLevel_Name { + public static string CastleSiegeGuardsmanTalkPlugIn_Name { get { - return ResourceManager.GetString("MuHelperConfiguration_MinLevel_Name", resourceCulture); + return ResourceManager.GetString("CastleSiegeGuardsmanTalkPlugIn_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Pay interval. + /// Looks up a localized string similar to Shows Land of Trials availability and its applicable entry fee.. /// - public static string MuHelperConfiguration_PayInterval_Name { + public static string CastleSiegeLandOfTrialsGuardTalkPlugIn_Description { get { - return ResourceManager.GetString("MuHelperConfiguration_PayInterval_Name", resourceCulture); + return ResourceManager.GetString("CastleSiegeLandOfTrialsGuardTalkPlugIn_Description", resourceCulture); } } /// - /// Looks up a localized string similar to After each interval, the stage gets increased to the next level with usually increasing costs.. + /// Looks up a localized string similar to Castle Siege Land of Trials guard. /// - public static string MuHelperConfiguration_StageInterval_Description { + public static string CastleSiegeLandOfTrialsGuardTalkPlugIn_Name { get { - return ResourceManager.GetString("MuHelperConfiguration_StageInterval_Description", resourceCulture); + return ResourceManager.GetString("CastleSiegeLandOfTrialsGuardTalkPlugIn_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Stage interval. + /// Looks up a localized string similar to Opens the operation interface for a Castle Siege gate lever.. /// - public static string MuHelperConfiguration_StageInterval_Name { + public static string CastleSiegeLeverTalkPlugIn_Description { get { - return ResourceManager.GetString("MuHelperConfiguration_StageInterval_Name", resourceCulture); + return ResourceManager.GetString("CastleSiegeLeverTalkPlugIn_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Provides configuration for the MU Helper feature.. + /// Looks up a localized string similar to Castle Siege Gate Lever. /// - public static string MuHelperFeaturePlugIn_Description { + public static string CastleSiegeLeverTalkPlugIn_Name { get { - return ResourceManager.GetString("MuHelperFeaturePlugIn_Description", resourceCulture); + return ResourceManager.GetString("CastleSiegeLeverTalkPlugIn_Name", resourceCulture); } } /// - /// Looks up a localized string similar to MU Helper Feature. + /// Looks up a localized string similar to Consumes Life Stones after they are successfully placed during Castle Siege.. /// - public static string MuHelperFeaturePlugIn_Name { + public static string CastleSiegeLifeStoneConsumeHandlerPlugIn_Description { get { - return ResourceManager.GetString("MuHelperFeaturePlugIn_Name", resourceCulture); + return ResourceManager.GetString("CastleSiegeLifeStoneConsumeHandlerPlugIn_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Handles the chat command '/goldnotice message'. Sends a global golden notice message to all players of the game.. + /// Looks up a localized string similar to Castle Siege Life Stone consume handler. /// - public static string NoticeChatCommandPlugIn_Description { + public static string CastleSiegeLifeStoneConsumeHandlerPlugIn_Name { get { - return ResourceManager.GetString("NoticeChatCommandPlugIn_Description", resourceCulture); + return ResourceManager.GetString("CastleSiegeLifeStoneConsumeHandlerPlugIn_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Notice chat command. + /// Looks up a localized string similar to Opens a Castle Siege warfare machine for an authorized player.. /// - public static string NoticeChatCommandPlugIn_Name { + public static string CastleSiegeMachineTalkPlugIn_Description { get { - return ResourceManager.GetString("NoticeChatCommandPlugIn_Name", resourceCulture); + return ResourceManager.GetString("CastleSiegeMachineTalkPlugIn_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Handles the start of nova skill of the wizard class.. + /// Looks up a localized string similar to Castle Siege Warfare Machine. /// - public static string NovaSkillStartPlugin_Description { + public static string CastleSiegeMachineTalkPlugIn_Name { get { - return ResourceManager.GetString("NovaSkillStartPlugin_Description", resourceCulture); + return ResourceManager.GetString("CastleSiegeMachineTalkPlugIn_Name", resourceCulture); } } /// - /// Looks up a localized string similar to NovaSkillStartPlugin. + /// Looks up a localized string similar to Delivers queued Castle Siege participant rewards when a character enters the game.. /// - public static string NovaSkillStartPlugin_Name { + public static string CastleSiegePendingRewardPlugIn_Description { get { - return ResourceManager.GetString("NovaSkillStartPlugin_Name", resourceCulture); + return ResourceManager.GetString("CastleSiegePendingRewardPlugIn_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Handles the stopping of nova skill of the wizard class.. + /// Looks up a localized string similar to Castle Siege Pending Reward Delivery. /// - public static string NovaSkillStopPlugin_Description { + public static string CastleSiegePendingRewardPlugIn_Name { get { - return ResourceManager.GetString("NovaSkillStopPlugin_Description", resourceCulture); + return ResourceManager.GetString("CastleSiegePendingRewardPlugIn_Name", resourceCulture); } } /// - /// Looks up a localized string similar to NovaSkillStopPlugin. + /// Looks up a localized string similar to Drives the weekly Castle Siege state cycle.. /// - public static string NovaSkillStopPlugin_Name { + public static string CastleSiegePlugIn_Description { get { - return ResourceManager.GetString("NovaSkillStopPlugin_Name", resourceCulture); + return ResourceManager.GetString("CastleSiegePlugIn_Description", resourceCulture); } } /// - /// Looks up a localized string similar to The message to show when the player does not have the required VIP level for this command (excluding GM).. + /// Looks up a localized string similar to Castle Siege. /// - public static string NpcChatCommandConfiguration_InsufficientVipLevelMessage_Description { + public static string CastleSiegePlugIn_Name { get { - return ResourceManager.GetString("NpcChatCommandConfiguration_InsufficientVipLevelMessage_Description", resourceCulture); + return ResourceManager.GetString("CastleSiegePlugIn_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Insufficient VIP Level Message. + /// Looks up a localized string similar to Opens the Castle Siege registration window, which shows the Castle Siege status, when a player talks to a guardsman on the Castle Siege map.. /// - public static string NpcChatCommandConfiguration_InsufficientVipLevelMessage_Name { + public static string CastleSiegeRegistrationGuardsmanTalkPlugIn_Description { get { - return ResourceManager.GetString("NpcChatCommandConfiguration_InsufficientVipLevelMessage_Name", resourceCulture); + return ResourceManager.GetString("CastleSiegeRegistrationGuardsmanTalkPlugIn_Description", resourceCulture); } } /// - /// Looks up a localized string similar to The minimum VIP level to use the command. Default: 0.. + /// Looks up a localized string similar to Castle Siege registration guardsman. /// - public static string NpcChatCommandConfiguration_MinimumVipLevel_Description { + public static string CastleSiegeRegistrationGuardsmanTalkPlugIn_Name { get { - return ResourceManager.GetString("NpcChatCommandConfiguration_MinimumVipLevel_Description", resourceCulture); + return ResourceManager.GetString("CastleSiegeRegistrationGuardsmanTalkPlugIn_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Minimum VIP Level. + /// Looks up a localized string similar to Handles the chain lightning skill of the summoner class. Additionally to the attacked target, it will hit up to two additional targets.. /// - public static string NpcChatCommandConfiguration_MinimumVipLevel_Name { + public static string ChainLightningSkillPlugIn_Description { get { - return ResourceManager.GetString("NpcChatCommandConfiguration_MinimumVipLevel_Name", resourceCulture); + return ResourceManager.GetString("ChainLightningSkillPlugIn_Description", resourceCulture); } } /// - /// Looks up a localized string similar to The ID of the NPC to open the merchant store. Default: Potion Girl Amy - 253.. + /// Looks up a localized string similar to Chain Lightning Skill. /// - public static string NpcChatCommandConfiguration_OpenMerchantNpc_Description { + public static string ChainLightningSkillPlugIn_Name { get { - return ResourceManager.GetString("NpcChatCommandConfiguration_OpenMerchantNpc_Description", resourceCulture); + return ResourceManager.GetString("ChainLightningSkillPlugIn_Name", resourceCulture); } } /// - /// Looks up a localized string similar to NPC ID. + /// Looks up a localized string similar to Handles the chat command '/language <isoCode>'. Changes the language of the account.. /// - public static string NpcChatCommandConfiguration_OpenMerchantNpc_Name { + public static string ChangeLanguageChatCommandPlugIn_Description { get { - return ResourceManager.GetString("NpcChatCommandConfiguration_OpenMerchantNpc_Name", resourceCulture); + return ResourceManager.GetString("ChangeLanguageChatCommandPlugIn_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Opens the merchant NPC store.. + /// Looks up a localized string similar to Change language command. /// - public static string NpcChatCommandPlugIn_Description { + public static string ChangeLanguageChatCommandPlugIn_Name { get { - return ResourceManager.GetString("NpcChatCommandPlugIn_Description", resourceCulture); + return ResourceManager.GetString("ChangeLanguageChatCommandPlugIn_Name", resourceCulture); } } /// - /// Looks up a localized string similar to NPC open merchant chat command. + /// Looks up a localized string similar to Chaos Castle event. /// - public static string NpcChatCommandPlugIn_Name { + public static string ChaosCastleStartPlugIn_Description { get { - return ResourceManager.GetString("NpcChatCommandPlugIn_Name", resourceCulture); + return ResourceManager.GetString("ChaosCastleStartPlugIn_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Allows players to start offline leveling with /offlevel. The character stays in the world after the client disconnects and stops when the player logs back in.. + /// Looks up a localized string similar to ChaosCastleStartPlugIn. /// - public static string OfflineLevelingChatCommandPlugIn_Description { + public static string ChaosCastleStartPlugIn_Name { get { - return ResourceManager.GetString("OfflineLevelingChatCommandPlugIn_Description", resourceCulture); + return ResourceManager.GetString("ChaosCastleStartPlugIn_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Offline Leveling Command. + /// Looks up a localized string similar to Handles the chat command '/charinfo <char>'. Returns information about the character back to the requester.. /// - public static string OfflineLevelingChatCommandPlugIn_Name { + public static string CharInfoChatCommandPlugIn_Description { get { - return ResourceManager.GetString("OfflineLevelingChatCommandPlugIn_Name", resourceCulture); + return ResourceManager.GetString("CharInfoChatCommandPlugIn_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Handles the chat command '/online'. Gets the count of game masters and players online.. + /// Looks up a localized string similar to Char Info command. /// - public static string OnlineChatCommandPlugIn_Description { + public static string CharInfoChatCommandPlugIn_Name { get { - return ResourceManager.GetString("OnlineChatCommandPlugIn_Description", resourceCulture); + return ResourceManager.GetString("CharInfoChatCommandPlugIn_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Online chat command. + /// Looks up a localized string similar to Handles the chat command '/chatban <characterName> <durationMinutes>'. Bans the account of a character from chatting for the specified minutes.. /// - public static string OnlineChatCommandPlugIn_Name { + public static string ChatBanCharChatCommandPlugIn_Description { get { - return ResourceManager.GetString("OnlineChatCommandPlugIn_Name", resourceCulture); + return ResourceManager.GetString("ChatBanCharChatCommandPlugIn_Description", resourceCulture); } } /// - /// Looks up a localized string similar to The message to show when the player does not have the required VIP level for this command (excluding GM).. + /// Looks up a localized string similar to Chat Ban Character command. /// - public static string OpenWarehouseChatCommandConfiguration_InsufficientVipLevelMessage_Description { + public static string ChatBanCharChatCommandPlugIn_Name { get { - return ResourceManager.GetString("OpenWarehouseChatCommandConfiguration_InsufficientVipLevelMessage_Description", resourceCulture); + return ResourceManager.GetString("ChatBanCharChatCommandPlugIn_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Insufficient VIP Level Message. + /// Looks up a localized string similar to Handles the chat command '/chatunban <characterName>'. Unbans the account of a character from chatting.. /// - public static string OpenWarehouseChatCommandConfiguration_InsufficientVipLevelMessage_Name { + public static string ChatUnbanCharChatCommandPlugIn_Description { get { - return ResourceManager.GetString("OpenWarehouseChatCommandConfiguration_InsufficientVipLevelMessage_Name", resourceCulture); + return ResourceManager.GetString("ChatUnbanCharChatCommandPlugIn_Description", resourceCulture); } } /// - /// Looks up a localized string similar to The minimum VIP level to use the command (excluding GM). Default: 0.. + /// Looks up a localized string similar to Chat Ban Character command. /// - public static string OpenWarehouseChatCommandConfiguration_MinimumVipLevel_Description { + public static string ChatUnbanCharChatCommandPlugIn_Name { get { - return ResourceManager.GetString("OpenWarehouseChatCommandConfiguration_MinimumVipLevel_Description", resourceCulture); + return ResourceManager.GetString("ChatUnbanCharChatCommandPlugIn_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Minimum VIP Level. + /// Looks up a localized string similar to Clears inventory. Usage: /clearinv (optional:character). /// - public static string OpenWarehouseChatCommandConfiguration_MinimumVipLevel_Name { + public static string ClearInventoryChatCommandPlugIn_Description { get { - return ResourceManager.GetString("OpenWarehouseChatCommandConfiguration_MinimumVipLevel_Name", resourceCulture); + return ResourceManager.GetString("ClearInventoryChatCommandPlugIn_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Opens the warehouse.. + /// Looks up a localized string similar to Clear Inventory chat command. /// - public static string OpenWarehouseChatCommandPlugIn_Description { + public static string ClearInventoryChatCommandPlugIn_Name { get { - return ResourceManager.GetString("OpenWarehouseChatCommandPlugIn_Description", resourceCulture); + return ResourceManager.GetString("ClearInventoryChatCommandPlugIn_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Open Warehouse chat command. + /// Looks up a localized string similar to The message to show when the player needs to run the command again within 10 seconds to confirm the inventory clearing.. /// - public static string OpenWarehouseChatCommandPlugIn_Name { + public static string ClearInventoryConfiguration_ConfirmationMessage_Description { get { - return ResourceManager.GetString("OpenWarehouseChatCommandPlugIn_Name", resourceCulture); + return ResourceManager.GetString("ClearInventoryConfiguration_ConfirmationMessage_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Automatically rejoins players to their previous party upon entering the world.. + /// Looks up a localized string similar to Confirmation Message. /// - public static string PartyAutoRejoinPlugIn_Description { + public static string ClearInventoryConfiguration_ConfirmationMessage_Name { get { - return ResourceManager.GetString("PartyAutoRejoinPlugIn_Description", resourceCulture); + return ResourceManager.GetString("ClearInventoryConfiguration_ConfirmationMessage_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Party Auto-Rejoin. + /// Looks up a localized string similar to The message to show when the inventory is cleared.. /// - public static string PartyAutoRejoinPlugIn_Name { + public static string ClearInventoryConfiguration_InventoryClearedMessage_Description { get { - return ResourceManager.GetString("PartyAutoRejoinPlugIn_Name", resourceCulture); + return ResourceManager.GetString("ClearInventoryConfiguration_InventoryClearedMessage_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Saves the progress of players periodically when their status is 'EnteredWorld'.. + /// Looks up a localized string similar to Inventory Cleared Message. /// - public static string PeriodicSaveProgressPlugIn_Description { + public static string ClearInventoryConfiguration_InventoryClearedMessage_Name { get { - return ResourceManager.GetString("PeriodicSaveProgressPlugIn_Description", resourceCulture); + return ResourceManager.GetString("ClearInventoryConfiguration_InventoryClearedMessage_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Periodic Save Progress. + /// Looks up a localized string similar to The money cost to clear inventory (except GMs). Default: 0.. /// - public static string PeriodicSaveProgressPlugIn_Name { + public static string ClearInventoryConfiguration_MoneyCost_Description { get { - return ResourceManager.GetString("PeriodicSaveProgressPlugIn_Name", resourceCulture); + return ResourceManager.GetString("ClearInventoryConfiguration_MoneyCost_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Save interval. + /// Looks up a localized string similar to Money Cost. /// - public static string PeriodicSaveProgressPlugInConfiguration_Interval_Name { + public static string ClearInventoryConfiguration_MoneyCost_Name { get { - return ResourceManager.GetString("PeriodicSaveProgressPlugInConfiguration_Interval_Name", resourceCulture); + return ResourceManager.GetString("ClearInventoryConfiguration_MoneyCost_Name", resourceCulture); } } /// - /// Looks up a localized string similar to The text which prints as a golden message in the game when task ends.. + /// Looks up a localized string similar to The message to show when the player does not have enough money to run the command.. /// - public static string PeriodicTaskConfiguration_EndMessage_Description { + public static string ClearInventoryConfiguration_NotEnoughMoneyMessage_Description { get { - return ResourceManager.GetString("PeriodicTaskConfiguration_EndMessage_Description", resourceCulture); + return ResourceManager.GetString("ClearInventoryConfiguration_NotEnoughMoneyMessage_Description", resourceCulture); } } /// - /// Looks up a localized string similar to End message. + /// Looks up a localized string similar to Not Enough Money Message. /// - public static string PeriodicTaskConfiguration_EndMessage_Name { + public static string ClearInventoryConfiguration_NotEnoughMoneyMessage_Name { get { - return ResourceManager.GetString("PeriodicTaskConfiguration_EndMessage_Name", resourceCulture); + return ResourceManager.GetString("ClearInventoryConfiguration_NotEnoughMoneyMessage_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Pre-start message delay. + /// Looks up a localized string similar to If true, the player will need to run the command again within 10 seconds to confirm the inventory clearing (excluding GM).. /// - public static string PeriodicTaskConfiguration_PreStartMessageDelay_Name { + public static string ClearInventoryConfiguration_RequireConfirmation_Description { get { - return ResourceManager.GetString("PeriodicTaskConfiguration_PreStartMessageDelay_Name", resourceCulture); + return ResourceManager.GetString("ClearInventoryConfiguration_RequireConfirmation_Description", resourceCulture); } } /// - /// Looks up a localized string similar to The text which prints as a golden message in the game when task starts.. + /// Looks up a localized string similar to Require Confirmation. /// - public static string PeriodicTaskConfiguration_StartMessage_Description { + public static string ClearInventoryConfiguration_RequireConfirmation_Name { get { - return ResourceManager.GetString("PeriodicTaskConfiguration_StartMessage_Description", resourceCulture); + return ResourceManager.GetString("ClearInventoryConfiguration_RequireConfirmation_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Start message. + /// Looks up a localized string similar to Plugin which handles the reset fruit of command, which takes back invested command points and returns them as level up points.. /// - public static string PeriodicTaskConfiguration_StartMessage_Name { + public static string CommandResetFruitConsumeHandlerPlugIn_Description { get { - return ResourceManager.GetString("PeriodicTaskConfiguration_StartMessage_Name", resourceCulture); + return ResourceManager.GetString("CommandResetFruitConsumeHandlerPlugIn_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Task duration (minimum). + /// Looks up a localized string similar to Reset Fruit of Command Consume Handler. /// - public static string PeriodicTaskConfiguration_TaskDuration_Name { + public static string CommandResetFruitConsumeHandlerPlugIn_Name { get { - return ResourceManager.GetString("PeriodicTaskConfiguration_TaskDuration_Name", resourceCulture); + return ResourceManager.GetString("CommandResetFruitConsumeHandlerPlugIn_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Timetable. + /// Looks up a localized string similar to Handles the chat command '/createmonster <number> <intelligent>'. Creates a monster which can be remote controlled by the GM.. /// - public static string PeriodicTaskConfiguration_Timetable_Name { + public static string CreateMonsterChatCommand_Description { get { - return ResourceManager.GetString("PeriodicTaskConfiguration_Timetable_Name", resourceCulture); + return ResourceManager.GetString("CreateMonsterChatCommand_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Active on servers. + /// Looks up a localized string similar to Create monster chat command. /// - public static string PeriodicTaskConfiguration_AllowedServerIds_Name { + public static string CreateMonsterChatCommand_Name { get { - return ResourceManager.GetString("PeriodicTaskConfiguration_AllowedServerIds_Name", resourceCulture); + return ResourceManager.GetString("CreateMonsterChatCommand_Name", resourceCulture); } } - + /// - /// Looks up a localized string similar to Restricts the event to the selected game servers. An empty selection means the event runs on all servers.. + /// Looks up a localized string similar to Lets the crywolf event proceed: it starts the event when it is not running, and during the battle Balgass appears if he did not yet. Otherwise, the current state ends.. /// - public static string PeriodicTaskConfiguration_AllowedServerIds_Description { + public static string CrywolfChatCommandPlugIn_Description { get { - return ResourceManager.GetString("PeriodicTaskConfiguration_AllowedServerIds_Description", resourceCulture); + return ResourceManager.GetString("CrywolfChatCommandPlugIn_Description", resourceCulture); } } - + /// - /// Looks up a localized string similar to Handles the phoenix shot weapon skill of the rage fighter class. Additionally to the attacked target, it will hit up to seven additional targets.. + /// Looks up a localized string similar to Chat command: /crywolf. /// - public static string PhoenixShotSkillPlugIn_Description { + public static string CrywolfChatCommandPlugIn_Name { get { - return ResourceManager.GetString("PhoenixShotSkillPlugIn_Description", resourceCulture); + return ResourceManager.GetString("CrywolfChatCommandPlugIn_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Phoenix Shot Skill. + /// Looks up a localized string similar to The event in the crywolf fortress: the players defend the statue of the holy wolf against the army of Balgass. The result is kept until the next event.. /// - public static string PhoenixShotSkillPlugIn_Name { + public static string CrywolfPlugIn_Description { get { - return ResourceManager.GetString("PhoenixShotSkillPlugIn_Name", resourceCulture); + return ResourceManager.GetString("CrywolfPlugIn_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Handles the chat command '/pk <char> <pk_lvl> <pk_count>'. Sets player kill level and count of a character.. + /// Looks up a localized string similar to Crywolf Event. /// - public static string PkChatCommandPlugIn_Description { + public static string CrywolfPlugIn_Name { get { - return ResourceManager.GetString("PkChatCommandPlugIn_Description", resourceCulture); + return ResourceManager.GetString("CrywolfPlugIn_Name", resourceCulture); } } /// - /// Looks up a localized string similar to PK chat command. + /// Looks up a localized string similar to Devil Square event. /// - public static string PkChatCommandPlugIn_Name { + public static string DevilSquareStartPlugIn_Description { get { - return ResourceManager.GetString("PkChatCommandPlugIn_Name", resourceCulture); + return ResourceManager.GetString("DevilSquareStartPlugIn_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Handles the chat command '/pkclear <char>'. Clears the player kill count.. + /// Looks up a localized string similar to DevilSquareStartPlugIn. /// - public static string PkClearChatCommandPlugIn_Description { + public static string DevilSquareStartPlugIn_Name { get { - return ResourceManager.GetString("PkClearChatCommandPlugIn_Description", resourceCulture); + return ResourceManager.GetString("DevilSquareStartPlugIn_Name", resourceCulture); } } /// - /// Looks up a localized string similar to PK clear chat command. + /// Looks up a localized string similar to Handles the chat command '/disconnect <char>'. Disconnects a player from the game server.. /// - public static string PkClearChatCommandPlugIn_Name { + public static string DisconnectChatCommandPlugIn_Description { get { - return ResourceManager.GetString("PkClearChatCommandPlugIn_Name", resourceCulture); + return ResourceManager.GetString("DisconnectChatCommandPlugIn_Description", resourceCulture); } } /// - /// Looks up a localized string similar to This plugin decreases the experience after the player has been killed by a monster.. + /// Looks up a localized string similar to Disconnect chat command. /// - public static string PlayerLosesExperienceAfterDeathPlugIn_Description { + public static string DisconnectChatCommandPlugIn_Name { get { - return ResourceManager.GetString("PlayerLosesExperienceAfterDeathPlugIn_Description", resourceCulture); + return ResourceManager.GetString("DisconnectChatCommandPlugIn_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Player exp loss after death. + /// Looks up a localized string similar to Links the account to a Discord user: '/discord link' creates a code which is entered in Discord, '/discord unlink' removes the link, '/discord notify letter' turns direct messages about letters on or off (also 'login' and 'friend').. /// - public static string PlayerLosesExperienceAfterDeathPlugIn_Name { + public static string DiscordChatCommandPlugIn_Description { get { - return ResourceManager.GetString("PlayerLosesExperienceAfterDeathPlugIn_Name", resourceCulture); + return ResourceManager.GetString("DiscordChatCommandPlugIn_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Experience loss %. + /// Looks up a localized string similar to Discord command. /// - public static string PlayerLosesExperienceAfterDeathPlugInConfiguration_ExperienceLossPercentage_Name { + public static string DiscordChatCommandPlugIn_Name { get { - return ResourceManager.GetString("PlayerLosesExperienceAfterDeathPlugInConfiguration_ExperienceLossPercentage_Name", resourceCulture); + return ResourceManager.GetString("DiscordChatCommandPlugIn_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Is master. + /// Looks up a localized string similar to Tells game clients which ask for it how the server is connected to Discord (invite link, Rich Presence application, account link, mirrored chats), lets players link their account from the client, and sends them messages written in Discord as such.. /// - public static string PlayerLosesExperienceAfterDeathPlugInConfiguration_IsMaster_Name { + public static string DiscordIntegrationFeaturePlugIn_Description { get { - return ResourceManager.GetString("PlayerLosesExperienceAfterDeathPlugInConfiguration_IsMaster_Name", resourceCulture); + return ResourceManager.GetString("DiscordIntegrationFeaturePlugIn_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Losses per stage. + /// Looks up a localized string similar to Discord integration of the client. /// - public static string PlayerLosesExperienceAfterDeathPlugInConfiguration_Losses_Name { + public static string DiscordIntegrationFeaturePlugIn_Name { get { - return ResourceManager.GetString("PlayerLosesExperienceAfterDeathPlugInConfiguration_Losses_Name", resourceCulture); + return ResourceManager.GetString("DiscordIntegrationFeaturePlugIn_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Losses per level. + /// Looks up a localized string similar to Configures the run of the doppelganger event, e.g. its monsters, their paths and multipliers.. /// - public static string PlayerLosesExperienceAfterDeathPlugInConfiguration_LossesPerLevel_Name { + public static string DoppelgangerFeaturePlugIn_Description { get { - return ResourceManager.GetString("PlayerLosesExperienceAfterDeathPlugInConfiguration_LossesPerLevel_Name", resourceCulture); + return ResourceManager.GetString("DoppelgangerFeaturePlugIn_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Minimum level. + /// Looks up a localized string similar to Doppelganger event. /// - public static string PlayerLosesExperienceAfterDeathPlugInConfiguration_MinimumLevel_Name { + public static string DoppelgangerFeaturePlugIn_Name { get { - return ResourceManager.GetString("PlayerLosesExperienceAfterDeathPlugInConfiguration_MinimumLevel_Name", resourceCulture); + return ResourceManager.GetString("DoppelgangerFeaturePlugIn_Name", resourceCulture); } } /// - /// Looks up a localized string similar to State. + /// Looks up a localized string similar to Opens the reward chests of the doppelganger event, when a player talks to them.. /// - public static string PlayerLosesExperienceAfterDeathPlugInConfiguration_State_Name { + public static string DoppelgangerRewardChestPlugIn_Description { get { - return ResourceManager.GetString("PlayerLosesExperienceAfterDeathPlugInConfiguration_State_Name", resourceCulture); + return ResourceManager.GetString("DoppelgangerRewardChestPlugIn_Description", resourceCulture); } } /// - /// Looks up a localized string similar to This plugin decreases the money (zen) after the player has been killed by a monster.. + /// Looks up a localized string similar to Doppelganger reward chests. /// - public static string PlayerLosesMoneyAfterDeathPlugIn_Description { + public static string DoppelgangerRewardChestPlugIn_Name { get { - return ResourceManager.GetString("PlayerLosesMoneyAfterDeathPlugIn_Description", resourceCulture); + return ResourceManager.GetString("DoppelgangerRewardChestPlugIn_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Player money loss after death. + /// Looks up a localized string similar to Handles the dragon roar skill of the rage fighter class. Additionally to the attacked target, it will hit up to seven additional targets.. /// - public static string PlayerLosesMoneyAfterDeathPlugIn_Name { + public static string DragonRoarSkillPlugIn_Description { get { - return ResourceManager.GetString("PlayerLosesMoneyAfterDeathPlugIn_Name", resourceCulture); + return ResourceManager.GetString("DragonRoarSkillPlugIn_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Inventory money loss %. + /// Looks up a localized string similar to Dragon Roar Skill. /// - public static string PlayerLosesMoneyAfterDeathPlugInConfiguration_InventoryMoneyLossPercentage_Name { + public static string DragonRoarSkillPlugIn_Name { get { - return ResourceManager.GetString("PlayerLosesMoneyAfterDeathPlugInConfiguration_InventoryMoneyLossPercentage_Name", resourceCulture); + return ResourceManager.GetString("DragonRoarSkillPlugIn_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Is master. + /// Looks up a localized string similar to Handles the drain life skill of the summoner class. Additionally to the attacked target, it regains life for damage dealt.. /// - public static string PlayerLosesMoneyAfterDeathPlugInConfiguration_IsMaster_Name { + public static string DrainLifeSkillPlugIn_Description { get { - return ResourceManager.GetString("PlayerLosesMoneyAfterDeathPlugInConfiguration_IsMaster_Name", resourceCulture); + return ResourceManager.GetString("DrainLifeSkillPlugIn_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Losses per level. + /// Looks up a localized string similar to Drain Life Skill. /// - public static string PlayerLosesMoneyAfterDeathPlugInConfiguration_LossesPerLevel_Name { + public static string DrainLifeSkillPlugIn_Name { get { - return ResourceManager.GetString("PlayerLosesMoneyAfterDeathPlugInConfiguration_LossesPerLevel_Name", resourceCulture); + return ResourceManager.GetString("DrainLifeSkillPlugIn_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Minimum level. + /// Looks up a localized string similar to Spawns a player which is in a duel at its side of the duel area.. /// - public static string PlayerLosesMoneyAfterDeathPlugInConfiguration_MinimumLevel_Name { + public static string DuelSpawnGatePlugIn_Description { get { - return ResourceManager.GetString("PlayerLosesMoneyAfterDeathPlugInConfiguration_MinimumLevel_Name", resourceCulture); + return ResourceManager.GetString("DuelSpawnGatePlugIn_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Vault money loss %. + /// Looks up a localized string similar to DuelSpawnGatePlugIn. /// - public static string PlayerLosesMoneyAfterDeathPlugInConfiguration_VaultMoneyLossPercentage_Name { + public static string DuelSpawnGatePlugIn_Name { get { - return ResourceManager.GetString("PlayerLosesMoneyAfterDeathPlugInConfiguration_VaultMoneyLossPercentage_Name", resourceCulture); + return ResourceManager.GetString("DuelSpawnGatePlugIn_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Allows players to set the prices of the items in their personal store in configured items like jewels, or in account coins, too. Only the open source client shows these prices; with other clients, they can be set by chat command.. + /// Looks up a localized string similar to Updates the durabilty of time-decaying items.. /// - public static string PlayerShopCurrenciesFeaturePlugIn_Description { + public static string DurabilityDecayPlugIn_Description { get { - return ResourceManager.GetString("PlayerShopCurrenciesFeaturePlugIn_Description", resourceCulture); + return ResourceManager.GetString("DurabilityDecayPlugIn_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Player shop currencies. + /// Looks up a localized string similar to Durability Decay. /// - public static string PlayerShopCurrenciesFeaturePlugIn_Name { + public static string DurabilityDecayPlugIn_Name { get { - return ResourceManager.GetString("PlayerShopCurrenciesFeaturePlugIn_Name", resourceCulture); + return ResourceManager.GetString("DurabilityDecayPlugIn_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Handles the pollution skill (book of lagle) of the summoner class. Based on a chance, it may push the targets 2 squares away from the attacker.. + /// Looks up a localized string similar to Handles the earth shake skill of the dark horse. Pushes the targets away from the attacker.. /// - public static string PollutionSkillPlugIn_Description { + public static string EarthShakeSkillPlugIn_Description { get { - return ResourceManager.GetString("PollutionSkillPlugIn_Description", resourceCulture); + return ResourceManager.GetString("EarthShakeSkillPlugIn_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Pollution Skill. + /// Looks up a localized string similar to Earth shake skill. /// - public static string PollutionSkillPlugIn_Name { + public static string EarthShakeSkillPlugIn_Name { get { - return ResourceManager.GetString("PollutionSkillPlugIn_Name", resourceCulture); + return ResourceManager.GetString("EarthShakeSkillPlugIn_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Handles the chat command '/post message'. Sends a global blue system message to all players of the game.. + /// Looks up a localized string similar to Plugin which handles the elite healing potion consumption. It recovers the health immediately.. /// - public static string PostChatCommandPlugIn_Description { + public static string EliteHealingPotionConsumeHandlerPlugIn_Description { get { - return ResourceManager.GetString("PostChatCommandPlugIn_Description", resourceCulture); + return ResourceManager.GetString("EliteHealingPotionConsumeHandlerPlugIn_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Post chat command. + /// Looks up a localized string similar to Elite Healing Potion Consume Handler. /// - public static string PostChatCommandPlugIn_Name { + public static string EliteHealingPotionConsumeHandlerPlugIn_Name { get { - return ResourceManager.GetString("PostChatCommandPlugIn_Name", resourceCulture); + return ResourceManager.GetString("EliteHealingPotionConsumeHandlerPlugIn_Name", resourceCulture); } } /// - /// Looks up a localized string similar to This plugin increases the monster kill count of the quest state of active quests.. + /// Looks up a localized string similar to Plugin which handles the elite mana potion consumption. It recovers the mana immediately.. /// - public static string QuestMonsterKillCountPlugIn_Description { + public static string EliteManaPotionConsumeHandlerPlugIn_Description { get { - return ResourceManager.GetString("QuestMonsterKillCountPlugIn_Description", resourceCulture); + return ResourceManager.GetString("EliteManaPotionConsumeHandlerPlugIn_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Count killed quest monsters. + /// Looks up a localized string similar to Elite Mana Potion Consume Handler. /// - public static string QuestMonsterKillCountPlugIn_Name { + public static string EliteManaPotionConsumeHandlerPlugIn_Name { get { - return ResourceManager.GetString("QuestMonsterKillCountPlugIn_Name", resourceCulture); + return ResourceManager.GetString("EliteManaPotionConsumeHandlerPlugIn_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Message. + /// Looks up a localized string similar to Plugin which handles the elite SD potion consumption. It recovers the shield immediately.. /// - public static string QuestMonsterKillCountPlugInConfiguration_Message_Name { + public static string EliteShieldPotionConsumeHandlerPlugIn_Description { get { - return ResourceManager.GetString("QuestMonsterKillCountPlugInConfiguration_Message_Name", resourceCulture); + return ResourceManager.GetString("EliteShieldPotionConsumeHandlerPlugIn_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Unlocks the Rage Fighter class for the account when a player uses the Rage Fighter Character Card from the cash shop storage.. + /// Looks up a localized string similar to Elite SD Potion Consume Handler. /// - public static string RageFighterCharacterCardDeliveryPlugIn_Description { + public static string EliteShieldPotionConsumeHandlerPlugIn_Name { get { - return ResourceManager.GetString("RageFighterCharacterCardDeliveryPlugIn_Description", resourceCulture); + return ResourceManager.GetString("EliteShieldPotionConsumeHandlerPlugIn_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Cash shop: Rage Fighter Character Card. + /// Looks up a localized string similar to Ends the duel when one of the duelists leaves the duel map. If a spectator leaves the duel map, it's removed from the spectator list, too.. /// - public static string RageFighterCharacterCardDeliveryPlugIn_Name { + public static string EndDuelWhenLeavingDuelMapPlugIn_Description { get { - return ResourceManager.GetString("RageFighterCharacterCardDeliveryPlugIn_Name", resourceCulture); + return ResourceManager.GetString("EndDuelWhenLeavingDuelMapPlugIn_Description", resourceCulture); } } /// - /// Looks up a localized string similar to The event in the hatchery of raklion: when all spider eggs are destroyed, Selupan appears. After the battle, the hatchery is closed for some time.. + /// Looks up a localized string similar to End Duel When Leaving Duel Map. /// - public static string RaklionPlugIn_Description { + public static string EndDuelWhenLeavingDuelMapPlugIn_Name { get { - return ResourceManager.GetString("RaklionPlugIn_Description", resourceCulture); + return ResourceManager.GetString("EndDuelWhenLeavingDuelMapPlugIn_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Raklion Event. + /// Looks up a localized string similar to Plugin which handles the reset fruit of energy, which takes back invested energy points and returns them as level up points.. /// - public static string RaklionPlugIn_Name { + public static string EnergyResetFruitConsumeHandlerPlugIn_Description { get { - return ResourceManager.GetString("RaklionPlugIn_Name", resourceCulture); + return ResourceManager.GetString("EnergyResetFruitConsumeHandlerPlugIn_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Defines the value which is additionally recovered. From this value, the character level is subtracted.. + /// Looks up a localized string similar to Reset Fruit of Energy Consume Handler. /// - public static string RecoverConsumeHandlerConfiguration_AdditionalRecoverMinusCharacterLevel_Description { + public static string EnergyResetFruitConsumeHandlerPlugIn_Name { get { - return ResourceManager.GetString("RecoverConsumeHandlerConfiguration_AdditionalRecoverMinusCharacterLevel_Descripti" + - "on", resourceCulture); + return ResourceManager.GetString("EnergyResetFruitConsumeHandlerPlugIn_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Additional recover minus character level. + /// Looks up a localized string similar to Describes how the game client counts the animations of Evil Spirit: every animation is counted.. /// - public static string RecoverConsumeHandlerConfiguration_AdditionalRecoverMinusCharacterLevel_Name { + public static string EvilSpiritAnimationCounterStrategy_Description { get { - return ResourceManager.GetString("RecoverConsumeHandlerConfiguration_AdditionalRecoverMinusCharacterLevel_Name", resourceCulture); + return ResourceManager.GetString("EvilSpiritAnimationCounterStrategy_Description", resourceCulture); } } /// - /// Looks up a localized string similar to The cooldown time for the next consumption.. + /// Looks up a localized string similar to Evil Spirit animation counter. /// - public static string RecoverConsumeHandlerConfiguration_CooldownTime_Description { + public static string EvilSpiritAnimationCounterStrategy_Name { get { - return ResourceManager.GetString("RecoverConsumeHandlerConfiguration_CooldownTime_Description", resourceCulture); + return ResourceManager.GetString("EvilSpiritAnimationCounterStrategy_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Cooldown time. + /// Looks up a localized string similar to Handles the fire scream skill of the dark lord class. Based on a chance, it does an additional damage (explosion) to any targets in a radius which origin is the target itself.. /// - public static string RecoverConsumeHandlerConfiguration_CooldownTime_Name { + public static string FireScreamSkillPlugIn_Description { get { - return ResourceManager.GetString("RecoverConsumeHandlerConfiguration_CooldownTime_Name", resourceCulture); + return ResourceManager.GetString("FireScreamSkillPlugIn_Description", resourceCulture); } } /// - /// Looks up a localized string similar to A value between 0 and 1 (exclusive). 1 would mean that the recover works instantly since level 1.. + /// Looks up a localized string similar to Fire scream skill. /// - public static string RecoverConsumeHandlerConfiguration_RecoverDelayReductionByPotionLevel_Description { + public static string FireScreamSkillPlugIn_Name { get { - return ResourceManager.GetString("RecoverConsumeHandlerConfiguration_RecoverDelayReductionByPotionLevel_Description" + - "", resourceCulture); + return ResourceManager.GetString("FireScreamSkillPlugIn_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Recover delay reduction by potion level. + /// Looks up a localized string similar to Handles the force skill of the dark lord.. /// - public static string RecoverConsumeHandlerConfiguration_RecoverDelayReductionByPotionLevel_Name { + public static string ForceSkillAction_Description { get { - return ResourceManager.GetString("RecoverConsumeHandlerConfiguration_RecoverDelayReductionByPotionLevel_Name", resourceCulture); + return ResourceManager.GetString("ForceSkillAction_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Recover percentage increase by potion level. + /// Looks up a localized string similar to ForceSkillAction. /// - public static string RecoverConsumeHandlerConfiguration_RecoverPercentageIncreaseByPotionLevel_Name { + public static string ForceSkillAction_Name { get { - return ResourceManager.GetString("RecoverConsumeHandlerConfiguration_RecoverPercentageIncreaseByPotionLevel_Name", resourceCulture); + return ResourceManager.GetString("ForceSkillAction_Name", resourceCulture); } } /// - /// Looks up a localized string similar to If none are defined, the recover happens instantly.. + /// Looks up a localized string similar to Handles the force wave strengthener skill of the dark lord.. /// - public static string RecoverConsumeHandlerConfiguration_RecoverSteps_Description { + public static string ForceWaveStrengSkillAction_Description { get { - return ResourceManager.GetString("RecoverConsumeHandlerConfiguration_RecoverSteps_Description", resourceCulture); + return ResourceManager.GetString("ForceWaveStrengSkillAction_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Maximum character level. + /// Looks up a localized string similar to ForceWaveStrengSkillAction. /// - public static string RecoverConsumeHandlerConfiguration_RecoverSteps_Name { + public static string ForceWaveStrengSkillAction_Name { get { - return ResourceManager.GetString("RecoverConsumeHandlerConfiguration_RecoverSteps_Name", resourceCulture); + return ResourceManager.GetString("ForceWaveStrengSkillAction_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Total recover percentage. + /// Looks up a localized string similar to Plugin which handles the fruit consumption.. /// - public static string RecoverConsumeHandlerConfiguration_TotalRecoverPercentage_Name { + public static string FruitConsumeHandlerPlugIn_Description { get { - return ResourceManager.GetString("RecoverConsumeHandlerConfiguration_TotalRecoverPercentage_Name", resourceCulture); + return ResourceManager.GetString("FruitConsumeHandlerPlugIn_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Handle red dragon invasion event. + /// Looks up a localized string similar to Fruit Consume Handler. /// - public static string RedDragonInvasionPlugIn_Description { + public static string FruitConsumeHandlerPlugIn_Name { get { - return ResourceManager.GetString("RedDragonInvasionPlugIn_Description", resourceCulture); + return ResourceManager.GetString("FruitConsumeHandlerPlugIn_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Red Dragon Invasion. + /// Looks up a localized string similar to Boss monster numbers. /// - public static string RedDragonInvasionPlugIn_Name { + public static string GameEventPublisherConfiguration_BossMonsterNumbers_Name { get { - return ResourceManager.GetString("RedDragonInvasionPlugIn_Name", resourceCulture); + return ResourceManager.GetString("GameEventPublisherConfiguration_BossMonsterNumbers_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Handles the chat command '/removenpc <id>'.. + /// Looks up a localized string similar to Level milestones. /// - public static string RemoveNpcChatCommand_Description { + public static string GameEventPublisherConfiguration_LevelMilestones_Name { get { - return ResourceManager.GetString("RemoveNpcChatCommand_Description", resourceCulture); + return ResourceManager.GetString("GameEventPublisherConfiguration_LevelMilestones_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Remove npc chat command. + /// Looks up a localized string similar to Master level milestones. /// - public static string RemoveNpcChatCommand_Name { + public static string GameEventPublisherConfiguration_MasterLevelMilestones_Name { get { - return ResourceManager.GetString("RemoveNpcChatCommand_Name", resourceCulture); + return ResourceManager.GetString("GameEventPublisherConfiguration_MasterLevelMilestones_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Handles the requiem skill (book of neil) of the summoner class. Based on a chance, it may stun the target.. + /// Looks up a localized string similar to Publish ancient item drops. /// - public static string RequiemSkillPlugIn_Description { + public static string GameEventPublisherConfiguration_PublishAncientItemDrops_Name { get { - return ResourceManager.GetString("RequiemSkillPlugIn_Description", resourceCulture); + return ResourceManager.GetString("GameEventPublisherConfiguration_PublishAncientItemDrops_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Requiem Skill. + /// Looks up a localized string similar to Publish boss kills. /// - public static string RequiemSkillPlugIn_Name { + public static string GameEventPublisherConfiguration_PublishBossKills_Name { get { - return ResourceManager.GetString("RequiemSkillPlugIn_Name", resourceCulture); + return ResourceManager.GetString("GameEventPublisherConfiguration_PublishBossKills_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Handle Reset Character NPC Request. + /// Looks up a localized string similar to Publish castle siege events. /// - public static string ResetCharacterNpcPlugin_Description { + public static string GameEventPublisherConfiguration_PublishCastleSiegeEvents_Name { get { - return ResourceManager.GetString("ResetCharacterNpcPlugin_Description", resourceCulture); + return ResourceManager.GetString("GameEventPublisherConfiguration_PublishCastleSiegeEvents_Name", resourceCulture); } } /// - /// Looks up a localized string similar to ResetCharacterNpcPlugin. + /// Looks up a localized string similar to Publish guild, alliance and world chat. /// - public static string ResetCharacterNpcPlugin_Name { + public static string GameEventPublisherConfiguration_PublishChatMessages_Name { get { - return ResourceManager.GetString("ResetCharacterNpcPlugin_Name", resourceCulture); + return ResourceManager.GetString("GameEventPublisherConfiguration_PublishChatMessages_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Handles the chat command '/reset'.. + /// Looks up a localized string similar to Publish excellent item drops. /// - public static string ResetChatCommandPlugIn_Description { + public static string GameEventPublisherConfiguration_PublishExcellentItemDrops_Name { get { - return ResourceManager.GetString("ResetChatCommandPlugIn_Description", resourceCulture); + return ResourceManager.GetString("GameEventPublisherConfiguration_PublishExcellentItemDrops_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Reset chat command. + /// Looks up a localized string similar to Publish global notices of game masters. /// - public static string ResetChatCommandPlugIn_Name { + public static string GameEventPublisherConfiguration_PublishGlobalNotices_Name { get { - return ResourceManager.GetString("ResetChatCommandPlugIn_Name", resourceCulture); + return ResourceManager.GetString("GameEventPublisherConfiguration_PublishGlobalNotices_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Level after reset. + /// Looks up a localized string similar to Publish invasion events. /// - public static string ResetConfiguration_LevelAfterReset_Name { + public static string GameEventPublisherConfiguration_PublishInvasionEvents_Name { get { - return ResourceManager.GetString("ResetConfiguration_LevelAfterReset_Name", resourceCulture); + return ResourceManager.GetString("GameEventPublisherConfiguration_PublishInvasionEvents_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Log out. + /// Looks up a localized string similar to Publish level milestones. /// - public static string ResetConfiguration_LogOut_Name { + public static string GameEventPublisherConfiguration_PublishLevelMilestones_Name { get { - return ResourceManager.GetString("ResetConfiguration_LogOut_Name", resourceCulture); + return ResourceManager.GetString("GameEventPublisherConfiguration_PublishLevelMilestones_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Move home. + /// Looks up a localized string similar to Publish mini game events. /// - public static string ResetConfiguration_MoveHome_Name { + public static string GameEventPublisherConfiguration_PublishMiniGameEvents_Name { get { - return ResourceManager.GetString("ResetConfiguration_MoveHome_Name", resourceCulture); + return ResourceManager.GetString("GameEventPublisherConfiguration_PublishMiniGameEvents_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Multiply points by reset count. + /// Looks up a localized string similar to Publishes events of the game, like mini games, invasions, castle siege state changes and rare item drops, to the whole server, e.g. for a Discord integration.. /// - public static string ResetConfiguration_MultiplyPointsByResetCount_Name { + public static string GameEventPublisherPlugIn_Description { get { - return ResourceManager.GetString("ResetConfiguration_MultiplyPointsByResetCount_Name", resourceCulture); + return ResourceManager.GetString("GameEventPublisherPlugIn_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Multiply required money by reset count. + /// Looks up a localized string similar to Game Event Publisher. /// - public static string ResetConfiguration_MultiplyRequiredMoneyByResetCount_Name { + public static string GameEventPublisherPlugIn_Name { get { - return ResourceManager.GetString("ResetConfiguration_MultiplyRequiredMoneyByResetCount_Name", resourceCulture); + return ResourceManager.GetString("GameEventPublisherPlugIn_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Points per reset. + /// Looks up a localized string similar to Handle Gatekeeper NPC Request. /// - public static string ResetConfiguration_PointsPerReset_Name { + public static string GatekeeperNpcPlugin_Description { get { - return ResourceManager.GetString("ResetConfiguration_PointsPerReset_Name", resourceCulture); + return ResourceManager.GetString("GatekeeperNpcPlugin_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Replace level-up points with reset total. + /// Looks up a localized string similar to GatekeeperNpcPlugin. /// - public static string ResetConfiguration_ReplacePointsPerReset_Name { + public static string GatekeeperNpcPlugin_Name { get { - return ResourceManager.GetString("ResetConfiguration_ReplacePointsPerReset_Name", resourceCulture); + return ResourceManager.GetString("GatekeeperNpcPlugin_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Required level. + /// Looks up a localized string similar to Only gens members can enter the battle zone. Kills between the members of different gens in it change their contribution points, without making the killer an outlaw.. /// - public static string ResetConfiguration_RequiredLevel_Name { + public static string GensBattleZonePlugIn_Description { get { - return ResourceManager.GetString("ResetConfiguration_RequiredLevel_Name", resourceCulture); + return ResourceManager.GetString("GensBattleZonePlugIn_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Required money. + /// Looks up a localized string similar to Gens battle zone. /// - public static string ResetConfiguration_RequiredMoney_Name { + public static string GensBattleZonePlugIn_Name { get { - return ResourceManager.GetString("ResetConfiguration_RequiredMoney_Name", resourceCulture); + return ResourceManager.GetString("GensBattleZonePlugIn_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Reset limit. + /// Looks up a localized string similar to Configures the gens system, in which the players can join one of the gens Duprian and Vanert at their npcs.. /// - public static string ResetConfiguration_ResetLimit_Name { + public static string GensFeaturePlugIn_Description { get { - return ResourceManager.GetString("ResetConfiguration_ResetLimit_Name", resourceCulture); + return ResourceManager.GetString("GensFeaturePlugIn_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Reset base stats to class defaults. + /// Looks up a localized string similar to Gens system. /// - public static string ResetConfiguration_ResetStats_Name { + public static string GensFeaturePlugIn_Name { get { - return ResourceManager.GetString("ResetConfiguration_ResetStats_Name", resourceCulture); + return ResourceManager.GetString("GensFeaturePlugIn_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Provides configuration for the reset feature.. + /// Looks up a localized string similar to Loads the gens membership of a character when it enters the game, and shows it to the player.. /// - public static string ResetFeaturePlugIn_Description { + public static string GensMembershipPlugIn_Description { get { - return ResourceManager.GetString("ResetFeaturePlugIn_Description", resourceCulture); + return ResourceManager.GetString("GensMembershipPlugIn_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Reset Feature. + /// Looks up a localized string similar to Gens membership. /// - public static string ResetFeaturePlugIn_Name { + public static string GensMembershipPlugIn_Name { get { - return ResourceManager.GetString("ResetFeaturePlugIn_Name", resourceCulture); + return ResourceManager.GetString("GensMembershipPlugIn_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Handles the chat command '/resetinfo'. Shows the required costs and the granted points for the next reset.. + /// Looks up a localized string similar to Calculates the ranking of the gens in the configured interval, and updates the ranking positions and ranks of all members.. /// - public static string ResetInfoChatCommandPlugIn_Description { + public static string GensRankingPlugIn_Description { get { - return ResourceManager.GetString("ResetInfoChatCommandPlugIn_Description", resourceCulture); + return ResourceManager.GetString("GensRankingPlugIn_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Reset info chat command. + /// Looks up a localized string similar to Gens ranking. /// - public static string ResetInfoChatCommandPlugIn_Name { + public static string GensRankingPlugIn_Name { get { - return ResourceManager.GetString("ResetInfoChatCommandPlugIn_Name", resourceCulture); + return ResourceManager.GetString("GensRankingPlugIn_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Handles the chat command '/resetstats'.. + /// Looks up a localized string similar to The rules of the gens for parties, guilds and alliances: no party between different gens and in the battle zone, guilds and alliances only within a gens.. /// - public static string ResetStatsChatCommandPlugIn_Description { + public static string GensRelationshipRulesPlugIn_Description { get { - return ResourceManager.GetString("ResetStatsChatCommandPlugIn_Description", resourceCulture); + return ResourceManager.GetString("GensRelationshipRulesPlugIn_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Reset Stats chat command. + /// Looks up a localized string similar to Gens relationship rules. /// - public static string ResetStatsChatCommandPlugIn_Name { + public static string GensRelationshipRulesPlugIn_Name { get { - return ResourceManager.GetString("ResetStatsChatCommandPlugIn_Name", resourceCulture); + return ResourceManager.GetString("GensRelationshipRulesPlugIn_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Updates the state of the self defense system.. + /// Looks up a localized string similar to Gets level of a player. Usage: /getlevel (optional:character). /// - public static string SelfDefensePlugIn_Description { + public static string GetLevelChatCommandPlugIn_Description { get { - return ResourceManager.GetString("SelfDefensePlugIn_Description", resourceCulture); + return ResourceManager.GetString("GetLevelChatCommandPlugIn_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Self Defense. + /// Looks up a localized string similar to Get level command. /// - public static string SelfDefensePlugIn_Name { + public static string GetLevelChatCommandPlugIn_Name { get { - return ResourceManager.GetString("SelfDefensePlugIn_Name", resourceCulture); + return ResourceManager.GetString("GetLevelChatCommandPlugIn_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Self-defense time-out.. + /// Looks up a localized string similar to Gets level up points of a player. Usage: /getleveluppoints (optional:character). /// - public static string SelfDefensePlugInConfiguration_SelfDefenseTimeOut_Name { + public static string GetLevelUpPointsChatCommandPlugIn_Description { get { - return ResourceManager.GetString("SelfDefensePlugInConfiguration_SelfDefenseTimeOut_Name", resourceCulture); + return ResourceManager.GetString("GetLevelUpPointsChatCommandPlugIn_Description", resourceCulture); } } /// - /// Looks up a localized string similar to The time between one announcement and the next. The minimum is 10 seconds.. + /// Looks up a localized string similar to Get level up points command. /// - public static string ServerAnnouncementsConfiguration_Interval_Description { + public static string GetLevelUpPointsChatCommandPlugIn_Name { get { - return ResourceManager.GetString("ServerAnnouncementsConfiguration_Interval_Description", resourceCulture); + return ResourceManager.GetString("GetLevelUpPointsChatCommandPlugIn_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Interval. + /// Looks up a localized string similar to Gets master level of a player. Usage: /getmasterlevel (optional:character). /// - public static string ServerAnnouncementsConfiguration_Interval_Name { + public static string GetMasterLevelChatCommandPlugIn_Description { get { - return ResourceManager.GetString("ServerAnnouncementsConfiguration_Interval_Name", resourceCulture); + return ResourceManager.GetString("GetMasterLevelChatCommandPlugIn_Description", resourceCulture); } } /// - /// Looks up a localized string similar to The announcements, in the order in which they are shown. After the last one, it starts over with the first one.. + /// Looks up a localized string similar to Get master level command. /// - public static string ServerAnnouncementsConfiguration_Messages_Description { + public static string GetMasterLevelChatCommandPlugIn_Name { get { - return ResourceManager.GetString("ServerAnnouncementsConfiguration_Messages_Description", resourceCulture); + return ResourceManager.GetString("GetMasterLevelChatCommandPlugIn_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Announcements. + /// Looks up a localized string similar to Gets master level up points of a player. Usage: /getmasterleveluppoints (optional:character). /// - public static string ServerAnnouncementsConfiguration_Messages_Name { + public static string GetMasterLevelUpPointsChatCommandPlugIn_Description { get { - return ResourceManager.GetString("ServerAnnouncementsConfiguration_Messages_Name", resourceCulture); + return ResourceManager.GetString("GetMasterLevelUpPointsChatCommandPlugIn_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Text. + /// Looks up a localized string similar to Get master level up points command. /// - public static string ServerAnnouncementsConfiguration_Text_Name { + public static string GetMasterLevelUpPointsChatCommandPlugIn_Name { get { - return ResourceManager.GetString("ServerAnnouncementsConfiguration_Text_Name", resourceCulture); + return ResourceManager.GetString("GetMasterLevelUpPointsChatCommandPlugIn_Name", resourceCulture); } } /// - /// Looks up a localized string similar to How the announcement is shown, e.g. as golden message in the center of the screen or as blue system message.. + /// Looks up a localized string similar to Gets money of a player. Usage: /getmoney (optional:character). /// - public static string ServerAnnouncementsConfiguration_Type_Description { + public static string GetMoneyChatCommandPlugIn_Description { get { - return ResourceManager.GetString("ServerAnnouncementsConfiguration_Type_Description", resourceCulture); + return ResourceManager.GetString("GetMoneyChatCommandPlugIn_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Message Type. + /// Looks up a localized string similar to Get money command. /// - public static string ServerAnnouncementsConfiguration_Type_Name { + public static string GetMoneyChatCommandPlugIn_Name { get { - return ResourceManager.GetString("ServerAnnouncementsConfiguration_Type_Name", resourceCulture); + return ResourceManager.GetString("GetMoneyChatCommandPlugIn_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Shows a configured list of announcements to all players of a game server, one after another in a fixed interval.. + /// Looks up a localized string similar to Gets resets of a player. Usage: /getresets (optional:character). /// - public static string ServerAnnouncementsPlugIn_Description { + public static string GetResetsChatCommandPlugIn_Description { get { - return ResourceManager.GetString("ServerAnnouncementsPlugIn_Description", resourceCulture); + return ResourceManager.GetString("GetResetsChatCommandPlugIn_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Server announcements. + /// Looks up a localized string similar to Get resets command. /// - public static string ServerAnnouncementsPlugIn_Name { + public static string GetResetsChatCommandPlugIn_Name { get { - return ResourceManager.GetString("ServerAnnouncementsPlugIn_Name", resourceCulture); + return ResourceManager.GetString("GetResetsChatCommandPlugIn_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Sets level of a player. Usage: /setlevel (level) (optional:character). + /// Looks up a localized string similar to Get stat points. Usage: /get (ene|agi|vit|str|cmd) (optional:character). /// - public static string SetLevelChatCommandPlugIn_Description { + public static string GetStatChatCommandPlugIn_Description { get { - return ResourceManager.GetString("SetLevelChatCommandPlugIn_Description", resourceCulture); + return ResourceManager.GetString("GetStatChatCommandPlugIn_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Set level command. + /// Looks up a localized string similar to Get Stat chat command. /// - public static string SetLevelChatCommandPlugIn_Name { + public static string GetStatChatCommandPlugIn_Name { get { - return ResourceManager.GetString("SetLevelChatCommandPlugIn_Name", resourceCulture); + return ResourceManager.GetString("GetStatChatCommandPlugIn_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Sets level up points of a player. Usage: /setleveluppoints (points) (optional:character). + /// Looks up a localized string similar to Gives players Goblin Points of the cash shop for their play time.. /// - public static string SetLevelUpPointsChatCommandPlugIn_Description { + public static string GoblinPointsForPlayTimePlugIn_Description { get { - return ResourceManager.GetString("SetLevelUpPointsChatCommandPlugIn_Description", resourceCulture); + return ResourceManager.GetString("GoblinPointsForPlayTimePlugIn_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Set level up points command. + /// Looks up a localized string similar to Goblin Points for play time. /// - public static string SetLevelUpPointsChatCommandPlugIn_Name { + public static string GoblinPointsForPlayTimePlugIn_Name { get { - return ResourceManager.GetString("SetLevelUpPointsChatCommandPlugIn_Name", resourceCulture); + return ResourceManager.GetString("GoblinPointsForPlayTimePlugIn_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Sets master level of a player. Usage: /setmasterlevel (level) (optional:character). + /// Looks up a localized string similar to Handle Golden Invasion event. /// - public static string SetMasterLevelChatCommandPlugIn_Description { + public static string GoldenInvasionPlugIn_Description { get { - return ResourceManager.GetString("SetMasterLevelChatCommandPlugIn_Description", resourceCulture); + return ResourceManager.GetString("GoldenInvasionPlugIn_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Set master level command. + /// Looks up a localized string similar to Golden Invasion. /// - public static string SetMasterLevelChatCommandPlugIn_Name { + public static string GoldenInvasionPlugIn_Name { get { - return ResourceManager.GetString("SetMasterLevelChatCommandPlugIn_Name", resourceCulture); + return ResourceManager.GetString("GoldenInvasionPlugIn_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Sets master level up points of a player. Usage: /setmasterleveluppoints (points) (optional:character). + /// Looks up a localized string similar to Handles the chat command '/battlesoccer <guildname>'. Sends a request to the guild master of the requested guild.. /// - public static string SetMasterLevelUpPointsChatCommandPlugIn_Description { + public static string GuildBattleSoccerChatCommandPlugIn_Description { get { - return ResourceManager.GetString("SetMasterLevelUpPointsChatCommandPlugIn_Description", resourceCulture); + return ResourceManager.GetString("GuildBattleSoccerChatCommandPlugIn_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Set master level up points command. + /// Looks up a localized string similar to Guild battle soccer chat command. /// - public static string SetMasterLevelUpPointsChatCommandPlugIn_Name { + public static string GuildBattleSoccerChatCommandPlugIn_Name { get { - return ResourceManager.GetString("SetMasterLevelUpPointsChatCommandPlugIn_Name", resourceCulture); + return ResourceManager.GetString("GuildBattleSoccerChatCommandPlugIn_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Sets money of a player. Usage: /setmoney (amount) (optional:character). + /// Looks up a localized string similar to Tells players when they enter the game, if the chat of their guild or alliance is mirrored to Discord.. /// - public static string SetMoneyChatCommandPlugIn_Description { + public static string GuildChatBridgeNoticePlugIn_Description { get { - return ResourceManager.GetString("SetMoneyChatCommandPlugIn_Description", resourceCulture); + return ResourceManager.GetString("GuildChatBridgeNoticePlugIn_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Set money command. + /// Looks up a localized string similar to Notice about the chat bridge. /// - public static string SetMoneyChatCommandPlugIn_Name { + public static string GuildChatBridgeNoticePlugIn_Name { get { - return ResourceManager.GetString("SetMoneyChatCommandPlugIn_Name", resourceCulture); + return ResourceManager.GetString("GuildChatBridgeNoticePlugIn_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Sets resets of a player. Usage: /setresets (resets) (optional:character). + /// Looks up a localized string similar to Handles the chat command '/guilddisconnect <guild>'. Disconnect the guild members.. /// - public static string SetResetsChatCommandPlugIn_Description { + public static string GuildDisconnectChatCommandPlugIn_Description { get { - return ResourceManager.GetString("SetResetsChatCommandPlugIn_Description", resourceCulture); + return ResourceManager.GetString("GuildDisconnectChatCommandPlugIn_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Set resets command. + /// Looks up a localized string similar to Guild disconnect chat command. /// - public static string SetResetsChatCommandPlugIn_Name { + public static string GuildDisconnectChatCommandPlugIn_Name { get { - return ResourceManager.GetString("SetResetsChatCommandPlugIn_Name", resourceCulture); + return ResourceManager.GetString("GuildDisconnectChatCommandPlugIn_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Set stat points. Usage: /set (ene|agi|vit|str|cmd) (amount) (optional:character). + /// Looks up a localized string similar to Handles the chat command '/guildmove <guild> <map> <x?> <y?>'. Move the character from a guild to a specified map and coordinates.. /// - public static string SetStatChatCommandPlugIn_Description { + public static string GuildMoveChatCommandPlugIn_Description { get { - return ResourceManager.GetString("SetStatChatCommandPlugIn_Description", resourceCulture); + return ResourceManager.GetString("GuildMoveChatCommandPlugIn_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Set Stat chat command. + /// Looks up a localized string similar to Guild move chat command. /// - public static string SetStatChatCommandPlugIn_Name { + public static string GuildMoveChatCommandPlugIn_Name { get { - return ResourceManager.GetString("SetStatChatCommandPlugIn_Name", resourceCulture); + return ResourceManager.GetString("GuildMoveChatCommandPlugIn_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Updates and resets the shield recovery hiatus attribute.. + /// Looks up a localized string similar to Handles the chat command '/war <guild>'. Sends a request to the guild master of the requested guild.. /// - public static string ShieldRecoveryHiatusPlugIn_Description { + public static string GuildWarChatCommandPlugIn_Description { get { - return ResourceManager.GetString("ShieldRecoveryHiatusPlugIn_Description", resourceCulture); + return ResourceManager.GetString("GuildWarChatCommandPlugIn_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Shield Recovery Hiatus. + /// Looks up a localized string similar to Guild war chat command. /// - public static string ShieldRecoveryHiatusPlugIn_Name { + public static string GuildWarChatCommandPlugIn_Name { get { - return ResourceManager.GetString("ShieldRecoveryHiatusPlugIn_Name", resourceCulture); + return ResourceManager.GetString("GuildWarChatCommandPlugIn_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Sets the price of an item of the own personal store in one of the enabled currencies, e.g. '/shopprice 1 10 bless'. Without arguments, it lists the prices.. + /// Looks up a localized string similar to This plugin increases the score of the soccer result, if a kill occurred.. /// - public static string ShopPriceChatCommandPlugIn_Description { + public static string GuildWarKillScorePlugIn_Description { get { - return ResourceManager.GetString("ShopPriceChatCommandPlugIn_Description", resourceCulture); + return ResourceManager.GetString("GuildWarKillScorePlugIn_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Shop price chat command. + /// Looks up a localized string similar to Guild soccer kill score. /// - public static string ShopPriceChatCommandPlugIn_Name { + public static string GuildWarKillScorePlugIn_Name { get { - return ResourceManager.GetString("ShopPriceChatCommandPlugIn_Name", resourceCulture); + return ResourceManager.GetString("GuildWarKillScorePlugIn_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Handles the chat command '/fireworks <x> <y>'. Shows an fireworks effect at the specified coordinates.. + /// Looks up a localized string similar to Experience multiplier. /// - public static string ShowFireworksEffectChatCommandPlugIn_Description { + public static string HappyHourConfiguration_ExperienceMultiplier_Name { get { - return ResourceManager.GetString("ShowFireworksEffectChatCommandPlugIn_Description", resourceCulture); + return ResourceManager.GetString("HappyHourConfiguration_ExperienceMultiplier_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Show fireworks effect chat command. + /// Looks up a localized string similar to Handle Happy Hour event. /// - public static string ShowFireworksEffectChatCommandPlugIn_Name { + public static string HappyHourPlugIn_Description { get { - return ResourceManager.GetString("ShowFireworksEffectChatCommandPlugIn_Name", resourceCulture); + return ResourceManager.GetString("HappyHourPlugIn_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Shows a message to all players when a player enters the game.. + /// Looks up a localized string similar to Happy Hour. /// - public static string ShowMessageToAllWhenPlayerEnteredWorldPlugIn_Description { + public static string HappyHourPlugIn_Name { get { - return ResourceManager.GetString("ShowMessageToAllWhenPlayerEnteredWorldPlugIn_Description", resourceCulture); + return ResourceManager.GetString("HappyHourPlugIn_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Show Message To All When Player Entered World. + /// Looks up a localized string similar to Plugin which handles the jewel of harmony consumption.. /// - public static string ShowMessageToAllWhenPlayerEnteredWorldPlugIn_Name { + public static string HarmonyJewelConsumeHandlerPlugIn_Description { get { - return ResourceManager.GetString("ShowMessageToAllWhenPlayerEnteredWorldPlugIn_Name", resourceCulture); + return ResourceManager.GetString("HarmonyJewelConsumeHandlerPlugIn_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Handles the chat command '/showids'.. + /// Looks up a localized string similar to Harmony Jewel Consume Handler. /// - public static string ShowNpcIdsChatCommand_ShowNpcIdsChatCommand_Description { + public static string HarmonyJewelConsumeHandlerPlugIn_Name { get { - return ResourceManager.GetString("ShowNpcIdsChatCommand_ShowNpcIdsChatCommand_Description", resourceCulture); + return ResourceManager.GetString("HarmonyJewelConsumeHandlerPlugIn_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Show NPC ids chat command. + /// Looks up a localized string similar to Handles the /help <command> chat command. Shows information about the requested command.. /// - public static string ShowNpcIdsChatCommand_ShowNpcIdsChatCommand_Name { + public static string HelpCommand_Description { get { - return ResourceManager.GetString("ShowNpcIdsChatCommand_ShowNpcIdsChatCommand_Name", resourceCulture); + return ResourceManager.GetString("HelpCommand_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Tells the client which currencies can be used for the prices of personal stores, when the player enters the game.. + /// Looks up a localized string similar to Help command. /// - public static string ShowShopCurrenciesAfterEnterWorldPlugIn_Description { + public static string HelpCommand_Name { get { - return ResourceManager.GetString("ShowShopCurrenciesAfterEnterWorldPlugIn_Description", resourceCulture); + return ResourceManager.GetString("HelpCommand_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Show player shop currencies after entering the game. + /// Looks up a localized string similar to Handles the chat command '/hide'. Hides the own player from others.. /// - public static string ShowShopCurrenciesAfterEnterWorldPlugIn_Name { + public static string HideChatCommandPlugIn_Description { get { - return ResourceManager.GetString("ShowShopCurrenciesAfterEnterWorldPlugIn_Name", resourceCulture); + return ResourceManager.GetString("HideChatCommandPlugIn_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Handles the chat command '/xmasfireworks <x> <y>'. Shows an christmas fireworks effect at the specified coordinates.. + /// Looks up a localized string similar to Hide command. /// - public static string ShowXmasFireworksEffectChatCommandPlugIn_Description { + public static string HideChatCommandPlugIn_Name { get { - return ResourceManager.GetString("ShowXmasFireworksEffectChatCommandPlugIn_Description", resourceCulture); + return ResourceManager.GetString("HideChatCommandPlugIn_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Show xmas fireworks effect chat command. + /// Looks up a localized string similar to Plugin which handles the higher refine stone consumption.. /// - public static string ShowXmasFireworksEffectChatCommandPlugIn_Name { + public static string HigherRefineStoneConsumeHandlerPlugIn_Description { get { - return ResourceManager.GetString("ShowXmasFireworksEffectChatCommandPlugIn_Name", resourceCulture); + return ResourceManager.GetString("HigherRefineStoneConsumeHandlerPlugIn_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Plugin which handles the siege potion consumption.. + /// Looks up a localized string similar to Higher Refine Stone Consume Handler. /// - public static string SiegePotionConsumeHandlerPlugIn_Description { + public static string HigherRefineStoneConsumeHandlerPlugIn_Name { get { - return ResourceManager.GetString("SiegePotionConsumeHandlerPlugIn_Description", resourceCulture); + return ResourceManager.GetString("HigherRefineStoneConsumeHandlerPlugIn_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Siege Potion Consume Handler. + /// Looks up a localized string similar to Handles talking to the Alliance Item Storage in the illusion temple event, to which the allied forces carry the sacred relic to score a point.. /// - public static string SiegePotionConsumeHandlerPlugIn_Name { + public static string IllusionTempleAllianceStorageTalkPlugIn_Description { get { - return ResourceManager.GetString("SiegePotionConsumeHandlerPlugIn_Name", resourceCulture); + return ResourceManager.GetString("IllusionTempleAllianceStorageTalkPlugIn_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Transforms a full stack of signs of dimensions into a mirror of dimensions.. + /// Looks up a localized string similar to Illusion Temple Alliance Item Storage. /// - public static string SignOfDimensionsStackedPlugIn_Description { + public static string IllusionTempleAllianceStorageTalkPlugIn_Name { get { - return ResourceManager.GetString("SignOfDimensionsStackedPlugIn_Description", resourceCulture); + return ResourceManager.GetString("IllusionTempleAllianceStorageTalkPlugIn_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Sign of dimensions stack transformation. + /// Looks up a localized string similar to Handles talking to the Illusion Item Storage in the illusion temple event, to which the illusion forces carry the sacred relic to score a point.. /// - public static string SignOfDimensionsStackedPlugIn_Name { + public static string IllusionTempleIllusionStorageTalkPlugIn_Description { get { - return ResourceManager.GetString("SignOfDimensionsStackedPlugIn_Name", resourceCulture); + return ResourceManager.GetString("IllusionTempleIllusionStorageTalkPlugIn_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Handles the chat command '/skin <number>'. Applies a monster skin to the game masters character.. + /// Looks up a localized string similar to Illusion Temple Illusion Item Storage. /// - public static string SkinChatCommandPlugIn_Description { + public static string IllusionTempleIllusionStorageTalkPlugIn_Name { get { - return ResourceManager.GetString("SkinChatCommandPlugIn_Description", resourceCulture); + return ResourceManager.GetString("IllusionTempleIllusionStorageTalkPlugIn_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Skin chat command. + /// Looks up a localized string similar to Handles talking to the Stone Statue in the illusion temple event, where players pick up the sacred relic.. /// - public static string SkinChatCommandPlugIn_Name { + public static string IllusionTempleStoneStatueTalkPlugIn_Description { get { - return ResourceManager.GetString("SkinChatCommandPlugIn_Name", resourceCulture); + return ResourceManager.GetString("IllusionTempleStoneStatueTalkPlugIn_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Handles the chat command '/skipwait'. Skips the current waiting phase of the mini game event (entering, countdown, standby); skipped waits count as completed.. + /// Looks up a localized string similar to Illusion Temple Stone Statue. /// - public static string SkipMiniGameWaitChatCommandPlugIn_Description { + public static string IllusionTempleStoneStatueTalkPlugIn_Name { get { - return ResourceManager.GetString("SkipMiniGameWaitChatCommandPlugIn_Description", resourceCulture); + return ResourceManager.GetString("IllusionTempleStoneStatueTalkPlugIn_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Skip mini game wait chat command. + /// Looks up a localized string similar to Configures the run of the imperial guardian event, e.g. its times, the experience reward and the scaling of the monsters.. /// - public static string SkipMiniGameWaitChatCommandPlugIn_Name { + public static string ImperialGuardianFeaturePlugIn_Description { get { - return ResourceManager.GetString("SkipMiniGameWaitChatCommandPlugIn_Name", resourceCulture); + return ResourceManager.GetString("ImperialGuardianFeaturePlugIn_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Handles the chat command '/slidenotice message'. Sends a global notice to all players of the game which scrolls across the top of their screen.. + /// Looks up a localized string similar to Imperial Guardian event. /// - public static string SlideNoticeChatCommandPlugIn_Description { + public static string ImperialGuardianFeaturePlugIn_Name { get { - return ResourceManager.GetString("SlideNoticeChatCommandPlugIn_Description", resourceCulture); + return ResourceManager.GetString("ImperialGuardianFeaturePlugIn_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Slide notice chat command. + /// Looks up a localized string similar to Announce Death. /// - public static string SlideNoticeChatCommandPlugIn_Name { + public static string InvasionSpawnConfiguration_AnnounceDeath_Caption { get { - return ResourceManager.GetString("SlideNoticeChatCommandPlugIn_Name", resourceCulture); + return ResourceManager.GetString("InvasionSpawnConfiguration_AnnounceDeath_Caption", resourceCulture); } } /// - /// Looks up a localized string similar to Plugin which handles the small complex potion consumption.. + /// Looks up a localized string similar to Count. /// - public static string SmallComplexPotionConsumeHandlerPlugIn_Description { + public static string InvasionSpawnConfiguration_Count_Caption { get { - return ResourceManager.GetString("SmallComplexPotionConsumeHandlerPlugIn_Description", resourceCulture); + return ResourceManager.GetString("InvasionSpawnConfiguration_Count_Caption", resourceCulture); } } /// - /// Looks up a localized string similar to Small Complex Potion Consume Handler. + /// Looks up a localized string similar to Is Spawn On All Maps. /// - public static string SmallComplexPotionConsumeHandlerPlugIn_Name { + public static string InvasionSpawnConfiguration_IsSpawnOnAllMaps_Caption { get { - return ResourceManager.GetString("SmallComplexPotionConsumeHandlerPlugIn_Name", resourceCulture); + return ResourceManager.GetString("InvasionSpawnConfiguration_IsSpawnOnAllMaps_Caption", resourceCulture); } } /// - /// Looks up a localized string similar to Plugin which handles the small health potion consumption.. + /// Looks up a localized string similar to Map Ids. /// - public static string SmallHealthPotionConsumeHandlerPlugIn_Description { + public static string InvasionSpawnConfiguration_MapIds_Caption { get { - return ResourceManager.GetString("SmallHealthPotionConsumeHandlerPlugIn_Description", resourceCulture); + return ResourceManager.GetString("InvasionSpawnConfiguration_MapIds_Caption", resourceCulture); } } /// - /// Looks up a localized string similar to Small Health Potion Consume Handler. + /// Looks up a localized string similar to Map Strategy. /// - public static string SmallHealthPotionConsumeHandlerPlugIn_Name { + public static string InvasionSpawnConfiguration_MapStrategy_Caption { get { - return ResourceManager.GetString("SmallHealthPotionConsumeHandlerPlugIn_Name", resourceCulture); + return ResourceManager.GetString("InvasionSpawnConfiguration_MapStrategy_Caption", resourceCulture); } } /// - /// Looks up a localized string similar to Plugin which handles the small mana potion consumption.. + /// Looks up a localized string similar to Monster Id. /// - public static string SmallManaPotionConsumeHandler_Description { + public static string InvasionSpawnConfiguration_MonsterId_Caption { get { - return ResourceManager.GetString("SmallManaPotionConsumeHandler_Description", resourceCulture); + return ResourceManager.GetString("InvasionSpawnConfiguration_MonsterId_Caption", resourceCulture); } } /// - /// Looks up a localized string similar to SmallManaPotionConsumeHandler. + /// Looks up a localized string similar to X. /// - public static string SmallManaPotionConsumeHandler_Name { + public static string InvasionSpawnConfiguration_X_Caption { get { - return ResourceManager.GetString("SmallManaPotionConsumeHandler_Name", resourceCulture); + return ResourceManager.GetString("InvasionSpawnConfiguration_X_Caption", resourceCulture); } } /// - /// Looks up a localized string similar to Plugin which handles the small shield potion consumption.. + /// Looks up a localized string similar to Y. /// - public static string SmallShieldPotionConsumeHandlerPlugIn_Description { + public static string InvasionSpawnConfiguration_Y_Caption { get { - return ResourceManager.GetString("SmallShieldPotionConsumeHandlerPlugIn_Description", resourceCulture); + return ResourceManager.GetString("InvasionSpawnConfiguration_Y_Caption", resourceCulture); } } /// - /// Looks up a localized string similar to Small Shield Potion Consume Handler. + /// Looks up a localized string similar to Adds an inventory extension to the character when a player uses the Magic Backpack from the cash shop storage.. /// - public static string SmallShieldPotionConsumeHandlerPlugIn_Name { + public static string InventoryExtensionDeliveryPlugIn_Description { get { - return ResourceManager.GetString("SmallShieldPotionConsumeHandlerPlugIn_Name", resourceCulture); + return ResourceManager.GetString("InventoryExtensionDeliveryPlugIn_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Handles the soul barrier proficiency skill of the grand master.. + /// Looks up a localized string similar to Cash shop: Magic Backpack. /// - public static string SoulBarrierProficieSkillAction_Description { + public static string InventoryExtensionDeliveryPlugIn_Name { get { - return ResourceManager.GetString("SoulBarrierProficieSkillAction_Description", resourceCulture); + return ResourceManager.GetString("InventoryExtensionDeliveryPlugIn_Name", resourceCulture); } } /// - /// Looks up a localized string similar to SoulBarrierProficieSkillAction. + /// Looks up a localized string similar to This plugin handles the drop of an item box, e.g. box of kundun.. /// - public static string SoulBarrierProficieSkillAction_Name { + public static string ItemBoxDroppedPlugIn_Description { get { - return ResourceManager.GetString("SoulBarrierProficieSkillAction_Name", resourceCulture); + return ResourceManager.GetString("ItemBoxDroppedPlugIn_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Handles the soul barrier strengthener skill of the grand master.. + /// Looks up a localized string similar to ItemBoxDroppedPlugIn. /// - public static string SoulBarrierStrengSkillAction_Description { + public static string ItemBoxDroppedPlugIn_Name { get { - return ResourceManager.GetString("SoulBarrierStrengSkillAction_Description", resourceCulture); + return ResourceManager.GetString("ItemBoxDroppedPlugIn_Name", resourceCulture); } } /// - /// Looks up a localized string similar to SoulBarrierStrengSkillAction. + /// Looks up a localized string similar to Handles the chat command '/item <group> <number> <lvl?> <exc?> <sk?> <lu?> <opt?> <anc?> <ancBonuslvl?>'. Drops a specific item next to the character.. /// - public static string SoulBarrierStrengSkillAction_Name { + public static string ItemChatCommandPlugIn_Description { get { - return ResourceManager.GetString("SoulBarrierStrengSkillAction_Name", resourceCulture); + return ResourceManager.GetString("ItemChatCommandPlugIn_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Plugin which handles the jewel of soul consumption.. + /// Looks up a localized string similar to Item chat command. /// - public static string SoulJewelConsumeHandlerPlugIn_Description { + public static string ItemChatCommandPlugIn_Name { get { - return ResourceManager.GetString("SoulJewelConsumeHandlerPlugIn_Description", resourceCulture); + return ResourceManager.GetString("ItemChatCommandPlugIn_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Soul Jewel Consume Handler. + /// Looks up a localized string similar to Configure item registration rules for different NPCs.. /// - public static string SoulJewelConsumeHandlerPlugIn_Name { + public static string ItemRegistrationConfiguration_Rules_Description { get { - return ResourceManager.GetString("SoulJewelConsumeHandlerPlugIn_Name", resourceCulture); + return ResourceManager.GetString("ItemRegistrationConfiguration_Rules_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Handles the chat command '/startbc'. Starts the blood castle event at the next possible time.. + /// Looks up a localized string similar to NPC Registration Rules. /// - public static string StartBloodCastleEventChatCommandPlugIn_Description { + public static string ItemRegistrationConfiguration_Rules_Name { get { - return ResourceManager.GetString("StartBloodCastleEventChatCommandPlugIn_Description", resourceCulture); + return ResourceManager.GetString("ItemRegistrationConfiguration_Rules_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Start Blood Castle Event Chat Command. + /// Looks up a localized string similar to Whether an item which doesn't have the option yet can get it by consuming the source item.. /// - public static string StartBloodCastleEventChatCommandPlugIn_Name { + public static string ItemUpgradeConfiguration_AddsOption_Description { get { - return ResourceManager.GetString("StartBloodCastleEventChatCommandPlugIn_Name", resourceCulture); + return ResourceManager.GetString("ItemUpgradeConfiguration_AddsOption_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Handles the chat command '/startcc'. Starts the chaos castle event at the next possible time.. + /// Looks up a localized string similar to Adds the option. /// - public static string StartChaosCastleEventChatCommandPlugIn_Description { + public static string ItemUpgradeConfiguration_AddsOption_Name { get { - return ResourceManager.GetString("StartChaosCastleEventChatCommandPlugIn_Description", resourceCulture); + return ResourceManager.GetString("ItemUpgradeConfiguration_AddsOption_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Start Chaos Castle Event Chat Command. + /// Looks up a localized string similar to An item option of the target item which increases the success chance, e.g. the luck option.. /// - public static string StartChaosCastleEventChatCommandPlugIn_Name { + public static string ItemUpgradeConfiguration_BoostOptionType_Description { get { - return ResourceManager.GetString("StartChaosCastleEventChatCommandPlugIn_Name", resourceCulture); + return ResourceManager.GetString("ItemUpgradeConfiguration_BoostOptionType_Description", resourceCulture); } } - + /// - /// Looks up a localized string similar to Handles the chat command '/startit'. Starts the illusion temple event at the next possible time.. + /// Looks up a localized string similar to Boost option type. /// - public static string StartIllusionTempleEventChatCommandPlugIn_Description { + public static string ItemUpgradeConfiguration_BoostOptionType_Name { get { - return ResourceManager.GetString("StartIllusionTempleEventChatCommandPlugIn_Description", resourceCulture); + return ResourceManager.GetString("ItemUpgradeConfiguration_BoostOptionType_Name", resourceCulture); } } - + /// - /// Looks up a localized string similar to Start Illusion Temple Event Chat Command. + /// Looks up a localized string similar to What happens to the option when the random check fails: nothing, the option is set back to its base level, or the option is removed.. /// - public static string StartIllusionTempleEventChatCommandPlugIn_Name { + public static string ItemUpgradeConfiguration_FailResult_Description { get { - return ResourceManager.GetString("StartIllusionTempleEventChatCommandPlugIn_Name", resourceCulture); + return ResourceManager.GetString("ItemUpgradeConfiguration_FailResult_Description", resourceCulture); } } - + /// - /// Looks up a localized string similar to Handles the chat command '/startds'. Starts the devil square event at the next possible time.. + /// Looks up a localized string similar to Behaviour on failure. /// - public static string StartDevilSquareEventChatCommandPlugIn_Description { + public static string ItemUpgradeConfiguration_FailResult_Name { get { - return ResourceManager.GetString("StartDevilSquareEventChatCommandPlugIn_Description", resourceCulture); + return ResourceManager.GetString("ItemUpgradeConfiguration_FailResult_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Start Devil Square Event Chat Command. + /// Looks up a localized string similar to Whether the level of an existing option of the item can be increased.. /// - public static string StartDevilSquareEventChatCommandPlugIn_Name { + public static string ItemUpgradeConfiguration_IncreasesOption_Description { get { - return ResourceManager.GetString("StartDevilSquareEventChatCommandPlugIn_Name", resourceCulture); + return ResourceManager.GetString("ItemUpgradeConfiguration_IncreasesOption_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Handles the chat command '/startkanturu'. Starts the kanturu event at the next possible time.. + /// Looks up a localized string similar to Increases the option. /// - public static string StartKanturuEventChatCommandPlugIn_Description { + public static string ItemUpgradeConfiguration_IncreasesOption_Name { get { - return ResourceManager.GetString("StartKanturuEventChatCommandPlugIn_Description", resourceCulture); + return ResourceManager.GetString("ItemUpgradeConfiguration_IncreasesOption_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Start Kanturu Event Chat Command. + /// Looks up a localized string similar to The type of the item option which is upgraded: the normal option for the Jewel of Life, the harmony option for the Jewel of Harmony and the refine stones.. /// - public static string StartKanturuEventChatCommandPlugIn_Name { + public static string ItemUpgradeConfiguration_OptionType_Description { get { - return ResourceManager.GetString("StartKanturuEventChatCommandPlugIn_Name", resourceCulture); + return ResourceManager.GetString("ItemUpgradeConfiguration_OptionType_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Chat command enabled. + /// Looks up a localized string similar to Option type. /// - public static string StatResetConfiguration_ChatCommandEnabled_Name { + public static string ItemUpgradeConfiguration_OptionType_Name { get { - return ResourceManager.GetString("StatResetConfiguration_ChatCommandEnabled_Name", resourceCulture); + return ResourceManager.GetString("ItemUpgradeConfiguration_OptionType_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Log out. + /// Looks up a localized string similar to The chance between 0 and 1 that an attempt succeeds. The Jewel of Life uses 0.5.. /// - public static string StatResetConfiguration_LogOut_Name { + public static string ItemUpgradeConfiguration_SuccessChance_Description { get { - return ResourceManager.GetString("StatResetConfiguration_LogOut_Name", resourceCulture); + return ResourceManager.GetString("ItemUpgradeConfiguration_SuccessChance_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Move home. + /// Looks up a localized string similar to Success chance. /// - public static string StatResetConfiguration_MoveHome_Name { + public static string ItemUpgradeConfiguration_SuccessChance_Name { get { - return ResourceManager.GetString("StatResetConfiguration_MoveHome_Name", resourceCulture); + return ResourceManager.GetString("ItemUpgradeConfiguration_SuccessChance_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Required level. + /// Looks up a localized string similar to The additional success chance when the target item has the boost option type.. /// - public static string StatResetConfiguration_RequiredLevel_Name { + public static string ItemUpgradeConfiguration_SuccessChanceBoost_Description { get { - return ResourceManager.GetString("StatResetConfiguration_RequiredLevel_Name", resourceCulture); + return ResourceManager.GetString("ItemUpgradeConfiguration_SuccessChanceBoost_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Required money. + /// Looks up a localized string similar to Success chance boost. /// - public static string StatResetConfiguration_RequiredMoney_Name { + public static string ItemUpgradeConfiguration_SuccessChanceBoost_Name { get { - return ResourceManager.GetString("StatResetConfiguration_RequiredMoney_Name", resourceCulture); + return ResourceManager.GetString("ItemUpgradeConfiguration_SuccessChanceBoost_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Required reset item. + /// Looks up a localized string similar to Minimum levels of the Kalima levels. /// - public static string StatResetConfiguration_RequiredResetItem_Name { + public static string KalimaTicketConsumeHandlerConfiguration_MinimumLevels_Name { get { - return ResourceManager.GetString("StatResetConfiguration_RequiredResetItem_Name", resourceCulture); + return ResourceManager.GetString("KalimaTicketConsumeHandlerConfiguration_MinimumLevels_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Provides configuration for the stat reset feature.. + /// Looks up a localized string similar to Minimum levels of the Kalima levels for special characters. /// - public static string StatResetFeaturePlugIn_Description { + public static string KalimaTicketConsumeHandlerConfiguration_SpecialCharacterMinimumLevels_Name { get { - return ResourceManager.GetString("StatResetFeaturePlugIn_Description", resourceCulture); + return ResourceManager.GetString("KalimaTicketConsumeHandlerConfiguration_SpecialCharacterMinimumLevels_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Stat Reset Feature. + /// Looks up a localized string similar to Opens a gate to the level of Kalima which fits the level of the character. Each use takes one of the ticket's usages.. /// - public static string StatResetFeaturePlugIn_Name { + public static string KalimaTicketConsumeHandlerPlugIn_Description { get { - return ResourceManager.GetString("StatResetFeaturePlugIn_Name", resourceCulture); + return ResourceManager.GetString("KalimaTicketConsumeHandlerPlugIn_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Unlocks the Summoner class for the account when a player uses the Summoner Character Card from the cash shop storage.. + /// Looks up a localized string similar to Kalima Ticket Consume Handler. /// - public static string SummonerCharacterCardDeliveryPlugIn_Description { + public static string KalimaTicketConsumeHandlerPlugIn_Name { get { - return ResourceManager.GetString("SummonerCharacterCardDeliveryPlugIn_Description", resourceCulture); + return ResourceManager.GetString("KalimaTicketConsumeHandlerPlugIn_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Cash shop: Summoner Character Card. + /// Looks up a localized string similar to Handles the Kanturu Gateway Machine NPC for event entry.. /// - public static string SummonerCharacterCardDeliveryPlugIn_Name { + public static string KanturuGatewayPlugIn_Description { get { - return ResourceManager.GetString("SummonerCharacterCardDeliveryPlugIn_Name", resourceCulture); + return ResourceManager.GetString("KanturuGatewayPlugIn_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Plugin which handles the summoning orb consumption.. + /// Looks up a localized string similar to KanturuGatewayPlugIn. /// - public static string SummoningOrbConsumeHandlerPlugIn_Description { + public static string KanturuGatewayPlugIn_Name { get { - return ResourceManager.GetString("SummoningOrbConsumeHandlerPlugIn_Description", resourceCulture); + return ResourceManager.GetString("KanturuGatewayPlugIn_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Summoning Orb Consume Handler. + /// Looks up a localized string similar to Event Definition. /// - public static string SummoningOrbConsumeHandlerPlugIn_Name { + public static string KanturuStartConfiguration_EventDefinition_Caption { get { - return ResourceManager.GetString("SummoningOrbConsumeHandlerPlugIn_Name", resourceCulture); + return ResourceManager.GetString("KanturuStartConfiguration_EventDefinition_Caption", resourceCulture); } } /// - /// Looks up a localized string similar to Handles the summon party skill of the dark lord class.. + /// Looks up a localized string similar to How long the Tower of Refinement stays open after the Nightmare boss has been defeated. While the window is open, scheduled event starts are skipped; a game master start still proceeds and ends the window.. /// - public static string SummonPartySkillPlugin_Description { + public static string KanturuStartConfiguration_TowerOpenDuration_Description { get { - return ResourceManager.GetString("SummonPartySkillPlugin_Description", resourceCulture); + return ResourceManager.GetString("KanturuStartConfiguration_TowerOpenDuration_Description", resourceCulture); } } /// - /// Looks up a localized string similar to SummonPartySkillPlugin. + /// Looks up a localized string similar to Tower open duration. /// - public static string SummonPartySkillPlugin_Name { + public static string KanturuStartConfiguration_TowerOpenDuration_Name { get { - return ResourceManager.GetString("SummonPartySkillPlugin_Name", resourceCulture); + return ResourceManager.GetString("KanturuStartConfiguration_TowerOpenDuration_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Transforms a full stack of suspicious scraps of paper into a Gaion's Order.. + /// Looks up a localized string similar to End of the current open window in UTC. Set automatically when Nightmare is defeated.. /// - public static string SuspiciousScrapOfPaperStackedPlugIn_Description { + public static string KanturuStartConfiguration_TowerOpenUntilUtc_Description { get { - return ResourceManager.GetString("SuspiciousScrapOfPaperStackedPlugIn_Description", resourceCulture); + return ResourceManager.GetString("KanturuStartConfiguration_TowerOpenUntilUtc_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Suspicious scrap of paper stack transformation. + /// Looks up a localized string similar to Tower open until (UTC). /// - public static string SuspiciousScrapOfPaperStackedPlugIn_Name { + public static string KanturuStartConfiguration_TowerOpenUntilUtc_Name { get { - return ResourceManager.GetString("SuspiciousScrapOfPaperStackedPlugIn_Name", resourceCulture); + return ResourceManager.GetString("KanturuStartConfiguration_TowerOpenUntilUtc_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Default (catch-all) handler for targeted skills. + /// Looks up a localized string similar to Kanturu Refinery Tower event. /// - public static string TargetedSkillDefaultPlugin_Description { + public static string KanturuStartPlugIn_Description { get { - return ResourceManager.GetString("TargetedSkillDefaultPlugin_Description", resourceCulture); + return ResourceManager.GetString("KanturuStartPlugIn_Description", resourceCulture); } } /// - /// Looks up a localized string similar to TargetedSkillDefaultPlugin. + /// Looks up a localized string similar to KanturuStartPlugIn. /// - public static string TargetedSkillDefaultPlugin_Name { + public static string KanturuStartPlugIn_Name { get { - return ResourceManager.GetString("TargetedSkillDefaultPlugin_Name", resourceCulture); + return ResourceManager.GetString("KanturuStartPlugIn_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Handles the chat command '/teleport <x> <y>'. Teleports the game master to the specified coordinates.. + /// Looks up a localized string similar to Handles the chat command '/killall'. Kills all monsters on the current map.. /// - public static string TeleportChatCommandPlugIn_Description { + public static string KillAllMonstersChatCommandPlugIn_Description { get { - return ResourceManager.GetString("TeleportChatCommandPlugIn_Description", resourceCulture); + return ResourceManager.GetString("KillAllMonstersChatCommandPlugIn_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Teleport chat command. + /// Looks up a localized string similar to Kill all monsters chat command. /// - public static string TeleportChatCommandPlugIn_Name { + public static string KillAllMonstersChatCommandPlugIn_Name { get { - return ResourceManager.GetString("TeleportChatCommandPlugIn_Name", resourceCulture); + return ResourceManager.GetString("KillAllMonstersChatCommandPlugIn_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Plugin which handles the town portal scroll consumption.. + /// Looks up a localized string similar to Plugin which handles the large complex potion consumption.. /// - public static string TownPortalScrollConsumeHandlerPlugIn_Description { + public static string LargeComplexPotionConsumeHandlerPlugIn_Description { get { - return ResourceManager.GetString("TownPortalScrollConsumeHandlerPlugIn_Description", resourceCulture); + return ResourceManager.GetString("LargeComplexPotionConsumeHandlerPlugIn_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Town Portal Scroll Consume Handler. + /// Looks up a localized string similar to Large Complex Potion Consume Handler. /// - public static string TownPortalScrollConsumeHandlerPlugIn_Name { + public static string LargeComplexPotionConsumeHandlerPlugIn_Name { get { - return ResourceManager.GetString("TownPortalScrollConsumeHandlerPlugIn_Name", resourceCulture); + return ResourceManager.GetString("LargeComplexPotionConsumeHandlerPlugIn_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Handles the chat command '/trace <char>'. Moves the game master to the character's location.. + /// Looks up a localized string similar to Plugin which handles the large health potion consumption.. /// - public static string TraceChatCommandPlugIn_Description { + public static string LargeHealthPotionConsumeHandlerPlugIn_Description { get { - return ResourceManager.GetString("TraceChatCommandPlugIn_Description", resourceCulture); + return ResourceManager.GetString("LargeHealthPotionConsumeHandlerPlugIn_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Trace chat command. + /// Looks up a localized string similar to Large Health Potion Consume Handler. /// - public static string TraceChatCommandPlugIn_Name { + public static string LargeHealthPotionConsumeHandlerPlugIn_Name { get { - return ResourceManager.GetString("TraceChatCommandPlugIn_Name", resourceCulture); + return ResourceManager.GetString("LargeHealthPotionConsumeHandlerPlugIn_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Handles the chat command '/track <char>'. Moves the player to the game masters location.. + /// Looks up a localized string similar to Plugin which handles the large mana potion consumption.. /// - public static string TrackChatCommandPlugIn_Description { + public static string LargeManaPotionConsumeHandler_Description { get { - return ResourceManager.GetString("TrackChatCommandPlugIn_Description", resourceCulture); + return ResourceManager.GetString("LargeManaPotionConsumeHandler_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Track chat command. + /// Looks up a localized string similar to LargeManaPotionConsumeHandler. /// - public static string TrackChatCommandPlugIn_Name { + public static string LargeManaPotionConsumeHandler_Name { get { - return ResourceManager.GetString("TrackChatCommandPlugIn_Name", resourceCulture); + return ResourceManager.GetString("LargeManaPotionConsumeHandler_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Handles the twisting slash mastery skill of the dark knight class. Based on a chance, it may push the targets 2 squares away from the attacker.. + /// Looks up a localized string similar to Plugin which handles the large shield potion consumption.. /// - public static string TwistingSlashMasterySkillPlugIn_Description { + public static string LargeShieldPotionConsumeHandlerPlugIn_Description { get { - return ResourceManager.GetString("TwistingSlashMasterySkillPlugIn_Description", resourceCulture); + return ResourceManager.GetString("LargeShieldPotionConsumeHandlerPlugIn_Description", resourceCulture); } } /// - /// Looks up a localized string similar to TwistingSlashMasterySkillPlugIn. + /// Looks up a localized string similar to Large Shield Potion Consume Handler. /// - public static string TwistingSlashMasterySkillPlugIn_Name { + public static string LargeShieldPotionConsumeHandlerPlugIn_Name { get { - return ResourceManager.GetString("TwistingSlashMasterySkillPlugIn_Name", resourceCulture); + return ResourceManager.GetString("LargeShieldPotionConsumeHandlerPlugIn_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Handles the chat command '/unbanacc <acc>'. Unbans an account from the game.. + /// Looks up a localized string similar to Plugin which handles the consumption of items which add skills (e.g. scrolls, orbs).. /// - public static string UnBanAccChatCommandPlugIn_Description { + public static string LearnablesConsumeHandlerPlugIn_Description { get { - return ResourceManager.GetString("UnBanAccChatCommandPlugIn_Description", resourceCulture); + return ResourceManager.GetString("LearnablesConsumeHandlerPlugIn_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Unban Account command. + /// Looks up a localized string similar to Learnables Consume Handler. /// - public static string UnBanAccChatCommandPlugIn_Name { + public static string LearnablesConsumeHandlerPlugIn_Name { get { - return ResourceManager.GetString("UnBanAccChatCommandPlugIn_Name", resourceCulture); + return ResourceManager.GetString("LearnablesConsumeHandlerPlugIn_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Handles the chat command '/unbanchar <char>'. Unbans the account of a character from the game.. + /// Looks up a localized string similar to Plugin which handles the jewel of life consumption.. /// - public static string UnBanCharChatCommandPlugIn_Description { + public static string LifeJewelConsumeHandlerPlugIn_Description { get { - return ResourceManager.GetString("UnBanCharChatCommandPlugIn_Description", resourceCulture); + return ResourceManager.GetString("LifeJewelConsumeHandlerPlugIn_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Unban Character command. + /// Looks up a localized string similar to Life Jewel Consume Handler. /// - public static string UnBanCharChatCommandPlugIn_Name { + public static string LifeJewelConsumeHandlerPlugIn_Name { get { - return ResourceManager.GetString("UnBanCharChatCommandPlugIn_Name", resourceCulture); + return ResourceManager.GetString("LifeJewelConsumeHandlerPlugIn_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Handles the chat command '/unhide'. Unhides the own player from others.. + /// Looks up a localized string similar to Lists all the commands.. /// - public static string UnHideChatCommandPlugIn_Description { + public static string ListCommand_Description { get { - return ResourceManager.GetString("UnHideChatCommandPlugIn_Description", resourceCulture); + return ResourceManager.GetString("ListCommand_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Hide command. + /// Looks up a localized string similar to List command. /// - public static string UnHideChatCommandPlugIn_Name { + public static string ListCommand_Name { get { - return ResourceManager.GetString("UnHideChatCommandPlugIn_Name", resourceCulture); + return ResourceManager.GetString("ListCommand_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Unlocks the Dark Lord character class as soon as the first character of an account reaches level 250.. + /// Looks up a localized string similar to Disconnects clients which don't log in within the configured time after they connected.. /// - public static string UnlockDarkLordAtLevel250_Description { + public static string LoginTimeoutPlugIn_Description { get { - return ResourceManager.GetString("UnlockDarkLordAtLevel250_Description", resourceCulture); + return ResourceManager.GetString("LoginTimeoutPlugIn_Description", resourceCulture); } } /// - /// Looks up a localized string similar to UnlockDarkLordAtLevel250. + /// Looks up a localized string similar to Login Timeout. /// - public static string UnlockDarkLordAtLevel250_Name { + public static string LoginTimeoutPlugIn_Name { get { - return ResourceManager.GetString("UnlockDarkLordAtLevel250_Name", resourceCulture); + return ResourceManager.GetString("LoginTimeoutPlugIn_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Unlocks the Magic Gladiator character class as soon as the first character of an account reaches level 220.. + /// Looks up a localized string similar to Timeout. /// - public static string UnlockMagicGladiatorAtLevel220_Description { + public static string LoginTimeoutPlugInConfiguration_Timeout_Caption { get { - return ResourceManager.GetString("UnlockMagicGladiatorAtLevel220_Description", resourceCulture); + return ResourceManager.GetString("LoginTimeoutPlugInConfiguration_Timeout_Caption", resourceCulture); } } /// - /// Looks up a localized string similar to UnlockMagicGladiatorAtLevel220. + /// Looks up a localized string similar to The time after which a connection is considered lost, when its client didn't report that it's alive. The game client reports it every 20 seconds. Zero disables the detection.. /// - public static string UnlockMagicGladiatorAtLevel220_Name { + public static string LostConnectionDetectionConfiguration_Timeout_Description { get { - return ResourceManager.GetString("UnlockMagicGladiatorAtLevel220_Name", resourceCulture); + return ResourceManager.GetString("LostConnectionDetectionConfiguration_Timeout_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Unlocks the Rage Fighter character class as soon as the first character of an account reaches level 150.. + /// Looks up a localized string similar to Timeout. /// - public static string UnlockRageFighterAtLevel150_Description { + public static string LostConnectionDetectionConfiguration_Timeout_Name { get { - return ResourceManager.GetString("UnlockRageFighterAtLevel150_Description", resourceCulture); + return ResourceManager.GetString("LostConnectionDetectionConfiguration_Timeout_Name", resourceCulture); } } /// - /// Looks up a localized string similar to UnlockRageFighterAtLevel150. + /// Looks up a localized string similar to Disconnects players whose client stopped to report that it's alive, because their connection got lost without being closed. Otherwise, they would stay connected, and further logins of their account would be rejected.. /// - public static string UnlockRageFighterAtLevel150_Name { + public static string LostConnectionDetectionPlugIn_Description { get { - return ResourceManager.GetString("UnlockRageFighterAtLevel150_Name", resourceCulture); + return ResourceManager.GetString("LostConnectionDetectionPlugIn_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Unlocks the Summoner character class as soon as the first character of an account reaches level 1.. + /// Looks up a localized string similar to Lost connection detection. /// - public static string UnlockSummonerAtLevel1_Description { + public static string LostConnectionDetectionPlugIn_Name { get { - return ResourceManager.GetString("UnlockSummonerAtLevel1_Description", resourceCulture); + return ResourceManager.GetString("LostConnectionDetectionPlugIn_Name", resourceCulture); } } /// - /// Looks up a localized string similar to UnlockSummonerAtLevel1. + /// Looks up a localized string similar to This plugin handles the drop of the lost map item. It creates the gate to the kalima map.. /// - public static string UnlockSummonerAtLevel1_Name { + public static string LostMapDroppedPlugIn_Description { get { - return ResourceManager.GetString("UnlockSummonerAtLevel1_Name", resourceCulture); + return ResourceManager.GetString("LostMapDroppedPlugIn_Description", resourceCulture); } } /// - /// Looks up a localized string similar to This plugin increases the score of the duel, when a kill occurred.. + /// Looks up a localized string similar to LostMapDroppedPlugIn. /// - public static string UpdateDuelScorePlugIn_Description { + public static string LostMapDroppedPlugIn_Name { get { - return ResourceManager.GetString("UpdateDuelScorePlugIn_Description", resourceCulture); + return ResourceManager.GetString("LostMapDroppedPlugIn_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Update Duel Score. + /// Looks up a localized string similar to Plugin which handles the lower refine stone consumption.. /// - public static string UpdateDuelScorePlugIn_Name { + public static string LowerRefineStoneConsumeHandlerPlugIn_Description { get { - return ResourceManager.GetString("UpdateDuelScorePlugIn_Name", resourceCulture); + return ResourceManager.GetString("LowerRefineStoneConsumeHandlerPlugIn_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Updates the attribute if a player is located in the safezone. For example, this activates the automatic health and shield recover.. + /// Looks up a localized string similar to Lower Refine Stone Consume Handler. /// - public static string UpdateIsInSafezoneAfterPlayerMoved_Description { + public static string LowerRefineStoneConsumeHandlerPlugIn_Name { get { - return ResourceManager.GetString("UpdateIsInSafezoneAfterPlayerMoved_Description", resourceCulture); + return ResourceManager.GetString("LowerRefineStoneConsumeHandlerPlugIn_Name", resourceCulture); } } /// - /// Looks up a localized string similar to UpdateIsInSafezoneAfterPlayerMoved. + /// Looks up a localized string similar to Limits the maximum number of parallel connections from the same IP address.. /// - public static string UpdateIsInSafezoneAfterPlayerMoved_Name { + public static string MaximumConnectionsPerIpPlugIn_Description { get { - return ResourceManager.GetString("UpdateIsInSafezoneAfterPlayerMoved_Name", resourceCulture); + return ResourceManager.GetString("MaximumConnectionsPerIpPlugIn_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Updates the pet command manager on the player object after a pet has been equipped or unequipped.. + /// Looks up a localized string similar to Maximum Connections Per IP. /// - public static string UpdatePetCommandManagerOnItemMovePlugIn_Description { + public static string MaximumConnectionsPerIpPlugIn_Name { get { - return ResourceManager.GetString("UpdatePetCommandManagerOnItemMovePlugIn_Description", resourceCulture); + return ResourceManager.GetString("MaximumConnectionsPerIpPlugIn_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Update Pet Command Manager On Item Move. + /// Looks up a localized string similar to Maximum Connections Per Ip. /// - public static string UpdatePetCommandManagerOnItemMovePlugIn_Name { + public static string MaximumConnectionsPerIpPlugInConfiguration_MaximumConnectionsPerIp_Caption { get { - return ResourceManager.GetString("UpdatePetCommandManagerOnItemMovePlugIn_Name", resourceCulture); + return ResourceManager.GetString("MaximumConnectionsPerIpPlugInConfiguration_MaximumConnectionsPerIp_Caption", resourceCulture); } } /// - /// Looks up a localized string similar to Defines the items which are allowed to be upgraded. If empty, all items are allowed except those in 'disallowed items'.. + /// Looks up a localized string similar to Plugin which handles the medium complex potion consumption.. /// - public static string UpgradeItemLevelConfiguration_AllowedItems_Description { + public static string MediumComplexPotionConsumeHandlerPlugIn_Description { get { - return ResourceManager.GetString("UpgradeItemLevelConfiguration_AllowedItems_Description", resourceCulture); + return ResourceManager.GetString("MediumComplexPotionConsumeHandlerPlugIn_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Allowed items. + /// Looks up a localized string similar to Medium Complex Potion Consume Handler. /// - public static string UpgradeItemLevelConfiguration_AllowedItems_Name { + public static string MediumComplexPotionConsumeHandlerPlugIn_Name { get { - return ResourceManager.GetString("UpgradeItemLevelConfiguration_AllowedItems_Name", resourceCulture); + return ResourceManager.GetString("MediumComplexPotionConsumeHandlerPlugIn_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Defines the items which are not allowed to be upgraded.. + /// Looks up a localized string similar to Plugin which handles the medium elite healing potion consumption. It recovers a part of the health immediately.. /// - public static string UpgradeItemLevelConfiguration_DisallowedItems_Description { + public static string MediumEliteHealingPotionConsumeHandlerPlugIn_Description { get { - return ResourceManager.GetString("UpgradeItemLevelConfiguration_DisallowedItems_Description", resourceCulture); + return ResourceManager.GetString("MediumEliteHealingPotionConsumeHandlerPlugIn_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Disallowed items. + /// Looks up a localized string similar to Medium Elite Healing Potion Consume Handler. /// - public static string UpgradeItemLevelConfiguration_DisallowedItems_Name { + public static string MediumEliteHealingPotionConsumeHandlerPlugIn_Name { get { - return ResourceManager.GetString("UpgradeItemLevelConfiguration_DisallowedItems_Name", resourceCulture); + return ResourceManager.GetString("MediumEliteHealingPotionConsumeHandlerPlugIn_Name", resourceCulture); } } /// - /// Looks up a localized string similar to How many times to add a level to the item (will become maximum allowed level).. + /// Looks up a localized string similar to Plugin which handles the medium health potion consumption.. /// - public static string UpgradeItemLevelConfiguration_LevelAmount_Description { + public static string MediumHealthPotionConsumeHandlerPlugIn_Description { get { - return ResourceManager.GetString("UpgradeItemLevelConfiguration_LevelAmount_Description", resourceCulture); + return ResourceManager.GetString("MediumHealthPotionConsumeHandlerPlugIn_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Add Levels Amount. + /// Looks up a localized string similar to Medium Health Potion Consume Handler. /// - public static string UpgradeItemLevelConfiguration_LevelAmount_Name { + public static string MediumHealthPotionConsumeHandlerPlugIn_Name { get { - return ResourceManager.GetString("UpgradeItemLevelConfiguration_LevelAmount_Name", resourceCulture); + return ResourceManager.GetString("MediumHealthPotionConsumeHandlerPlugIn_Name", resourceCulture); } } /// - /// Looks up a localized string similar to The maximum item level which the item has to have before applying the jewel.. + /// Looks up a localized string similar to Plugin which handles the medium mana potion consumption.. /// - public static string UpgradeItemLevelConfiguration_MaximumLevel_Description { + public static string MediumManaPotionConsumeHandler_Description { get { - return ResourceManager.GetString("UpgradeItemLevelConfiguration_MaximumLevel_Description", resourceCulture); + return ResourceManager.GetString("MediumManaPotionConsumeHandler_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Item Maximum Level. + /// Looks up a localized string similar to MediumManaPotionConsumeHandler. /// - public static string UpgradeItemLevelConfiguration_MaximumLevel_Name { + public static string MediumManaPotionConsumeHandler_Name { get { - return ResourceManager.GetString("UpgradeItemLevelConfiguration_MaximumLevel_Name", resourceCulture); + return ResourceManager.GetString("MediumManaPotionConsumeHandler_Name", resourceCulture); } } /// - /// Looks up a localized string similar to The minimum item level which the item has to have before applying the jewel.. + /// Looks up a localized string similar to Plugin which handles the medium shield potion consumption.. /// - public static string UpgradeItemLevelConfiguration_MinimumLevel_Description { + public static string MediumShieldPotionConsumeHandlerPlugIn_Description { get { - return ResourceManager.GetString("UpgradeItemLevelConfiguration_MinimumLevel_Description", resourceCulture); + return ResourceManager.GetString("MediumShieldPotionConsumeHandlerPlugIn_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Item Minimum Level. + /// Looks up a localized string similar to Medium Shield Potion Consume Handler. /// - public static string UpgradeItemLevelConfiguration_MinimumLevel_Name { + public static string MediumShieldPotionConsumeHandlerPlugIn_Name { get { - return ResourceManager.GetString("UpgradeItemLevelConfiguration_MinimumLevel_Name", resourceCulture); + return ResourceManager.GetString("MediumShieldPotionConsumeHandlerPlugIn_Name", resourceCulture); } } /// - /// Looks up a localized string similar to The item level after which the item will drop to level 0 when it fails.. + /// Looks up a localized string similar to Entrance closed message. /// - public static string UpgradeItemLevelConfiguration_ResetToLevel0WhenFailMinLevel_Description { + public static string MiniGameStartConfiguration_EntranceClosedMessage_Name { get { - return ResourceManager.GetString("UpgradeItemLevelConfiguration_ResetToLevel0WhenFailMinLevel_Description", resourceCulture); + return ResourceManager.GetString("MiniGameStartConfiguration_EntranceClosedMessage_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Fail To 0 min. Level. + /// Looks up a localized string similar to Entrance opened message. /// - public static string UpgradeItemLevelConfiguration_ResetToLevel0WhenFailMinLevel_Name { + public static string MiniGameStartConfiguration_EntranceOpenedMessage_Name { get { - return ResourceManager.GetString("UpgradeItemLevelConfiguration_ResetToLevel0WhenFailMinLevel_Name", resourceCulture); + return ResourceManager.GetString("MiniGameStartConfiguration_EntranceOpenedMessage_Name", resourceCulture); } } /// - /// Looks up a localized string similar to The additional success rate, when the item has luck option.. + /// Looks up a localized string similar to Increases all monster base stats by a configurable percentage.. /// - public static string UpgradeItemLevelConfiguration_SuccessRateBonusWithLuckPercentage_Description { + public static string MonsterAttributeScaler_Description { get { - return ResourceManager.GetString("UpgradeItemLevelConfiguration_SuccessRateBonusWithLuckPercentage_Description", resourceCulture); + return ResourceManager.GetString("MonsterAttributeScaler_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Success Rate Luck Bonus %. + /// Looks up a localized string similar to Monster Attribute Scaler. /// - public static string UpgradeItemLevelConfiguration_SuccessRateBonusWithLuckPercentage_Name { + public static string MonsterAttributeScaler_Name { get { - return ResourceManager.GetString("UpgradeItemLevelConfiguration_SuccessRateBonusWithLuckPercentage_Name", resourceCulture); + return ResourceManager.GetString("MonsterAttributeScaler_Name", resourceCulture); } } /// - /// Looks up a localized string similar to The success rate percentage for the item level upgrade.. + /// Looks up a localized string similar to Attack Rate Percentage. /// - public static string UpgradeItemLevelConfiguration_SuccessRatePercentage_Description { + public static string MonsterAttributeScalerConfiguration_AttackRatePercentage_Caption { get { - return ResourceManager.GetString("UpgradeItemLevelConfiguration_SuccessRatePercentage_Description", resourceCulture); + return ResourceManager.GetString("MonsterAttributeScalerConfiguration_AttackRatePercentage_Caption", resourceCulture); } } /// - /// Looks up a localized string similar to Success Rate %. + /// Looks up a localized string similar to Damage Percentage. /// - public static string UpgradeItemLevelConfiguration_SuccessRatePercentage_Name { + public static string MonsterAttributeScalerConfiguration_DamagePercentage_Caption { get { - return ResourceManager.GetString("UpgradeItemLevelConfiguration_SuccessRatePercentage_Name", resourceCulture); + return ResourceManager.GetString("MonsterAttributeScalerConfiguration_DamagePercentage_Caption", resourceCulture); } } /// - /// Looks up a localized string similar to Extends the vault of the account when a player uses the Vault Expansion Certificate from the cash shop storage.. + /// Looks up a localized string similar to Defense Percentage. /// - public static string VaultExtensionDeliveryPlugIn_Description { + public static string MonsterAttributeScalerConfiguration_DefensePercentage_Caption { get { - return ResourceManager.GetString("VaultExtensionDeliveryPlugIn_Description", resourceCulture); + return ResourceManager.GetString("MonsterAttributeScalerConfiguration_DefensePercentage_Caption", resourceCulture); } } /// - /// Looks up a localized string similar to Cash shop: Vault Expansion Certificate. + /// Looks up a localized string similar to Defense Rate Percentage. /// - public static string VaultExtensionDeliveryPlugIn_Name { + public static string MonsterAttributeScalerConfiguration_DefenseRatePercentage_Caption { get { - return ResourceManager.GetString("VaultExtensionDeliveryPlugIn_Name", resourceCulture); + return ResourceManager.GetString("MonsterAttributeScalerConfiguration_DefenseRatePercentage_Caption", resourceCulture); } } /// - /// Looks up a localized string similar to Handles the chat command '/walkmonster <id> <x> <y>'. Walks a previously created monster which can be remote controlled by the GM.. + /// Looks up a localized string similar to Health Percentage. /// - public static string WalkMonsterChatCommand_Description { + public static string MonsterAttributeScalerConfiguration_HealthPercentage_Caption { get { - return ResourceManager.GetString("WalkMonsterChatCommand_Description", resourceCulture); + return ResourceManager.GetString("MonsterAttributeScalerConfiguration_HealthPercentage_Caption", resourceCulture); } } /// - /// Looks up a localized string similar to Walk remote monster chat command. + /// Looks up a localized string similar to Scale All Percentage. /// - public static string WalkMonsterChatCommand_Name { + public static string MonsterAttributeScalerConfiguration_ScaleAllPercentage_Caption { get { - return ResourceManager.GetString("WalkMonsterChatCommand_Name", resourceCulture); + return ResourceManager.GetString("MonsterAttributeScalerConfiguration_ScaleAllPercentage_Caption", resourceCulture); } } /// - /// Looks up a localized string similar to Maximum spawn duration. + /// Looks up a localized string similar to Handles the chat command '/move <target> <mapIdOrName?> <x?> <y?>'. Moves the character to the specified destination.. /// - public static string WanderingMerchantsConfiguration_MaximumSpawnDuration_Name { + public static string MoveChatCommandPlugIn_Description { get { - return ResourceManager.GetString("WanderingMerchantsConfiguration_MaximumSpawnDuration_Name", resourceCulture); + return ResourceManager.GetString("MoveChatCommandPlugIn_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Minimum spawn duration. + /// Looks up a localized string similar to Move chat command. /// - public static string WanderingMerchantsConfiguration_MinimumSpawnDuration_Name { + public static string MoveChatCommandPlugIn_Name { get { - return ResourceManager.GetString("WanderingMerchantsConfiguration_MinimumSpawnDuration_Name", resourceCulture); + return ResourceManager.GetString("MoveChatCommandPlugIn_Name", resourceCulture); } } /// - /// Looks up a localized string similar to This plugins spawns and moves the wandering merchants.. + /// Looks up a localized string similar to Handles the chat command '/movemonster <id> <x> <y>'. Moves a previously created monster which can be remote controlled by the GM.. /// - public static string WanderingMerchantsPlugIn_Description { + public static string MoveMonsterChatCommand_Description { get { - return ResourceManager.GetString("WanderingMerchantsPlugIn_Description", resourceCulture); + return ResourceManager.GetString("MoveMonsterChatCommand_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Wandering Merchants. + /// Looks up a localized string similar to Move remote monster chat command. /// - public static string WanderingMerchantsPlugIn_Name { + public static string MoveMonsterChatCommand_Name { get { - return ResourceManager.GetString("WanderingMerchantsPlugIn_Name", resourceCulture); + return ResourceManager.GetString("MoveMonsterChatCommand_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Updates the state of the weather of each hosted map in a random way.. + /// Looks up a localized string similar to This value is applied per pay interval and multiplied with the total character level.. /// - public static string WeatherUpdatePlugIn_Description { + public static string MuHelperConfiguration_CostPerStage_Description { get { - return ResourceManager.GetString("WeatherUpdatePlugIn_Description", resourceCulture); + return ResourceManager.GetString("MuHelperConfiguration_CostPerStage_Description", resourceCulture); } } /// - /// Looks up a localized string similar to Weather Update. + /// Looks up a localized string similar to Cost per stage. /// - public static string WeatherUpdatePlugIn_Name { + public static string MuHelperConfiguration_CostPerStage_Name { get { - return ResourceManager.GetString("WeatherUpdatePlugIn_Name", resourceCulture); + return ResourceManager.GetString("MuHelperConfiguration_CostPerStage_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Sends a message to the world chat, which all players of all game servers can read, e.g. '/world Hello!'. It can be bridged to Discord.. + /// Looks up a localized string similar to Maximum character level. /// - public static string WorldChatChatCommandPlugIn_Description { + public static string MuHelperConfiguration_MaxLevel_Name { get { - return ResourceManager.GetString("WorldChatChatCommandPlugIn_Description", resourceCulture); + return ResourceManager.GetString("MuHelperConfiguration_MaxLevel_Name", resourceCulture); } } /// - /// Looks up a localized string similar to World chat command. + /// Looks up a localized string similar to Minimum character level. /// - public static string WorldChatChatCommandPlugIn_Name { + public static string MuHelperConfiguration_MinLevel_Name { get { - return ResourceManager.GetString("WorldChatChatCommandPlugIn_Name", resourceCulture); + return ResourceManager.GetString("MuHelperConfiguration_MinLevel_Name", resourceCulture); } } - + /// - /// Looks up a localized string similar to Consumes Life Stones after they are successfully placed during Castle Siege. + /// Looks up a localized string similar to Pay interval. /// - public static string CastleSiegeLifeStoneConsumeHandlerPlugIn_Description { + public static string MuHelperConfiguration_PayInterval_Name { get { - return ResourceManager.GetString("CastleSiegeLifeStoneConsumeHandlerPlugIn_Description", resourceCulture); + return ResourceManager.GetString("MuHelperConfiguration_PayInterval_Name", resourceCulture); } } - + /// - /// Looks up a localized string similar to Castle Siege Life Stone consume handler. + /// Looks up a localized string similar to After each interval, the stage gets increased to the next level with usually increasing costs.. /// - public static string CastleSiegeLifeStoneConsumeHandlerPlugIn_Name { + public static string MuHelperConfiguration_StageInterval_Description { get { - return ResourceManager.GetString("CastleSiegeLifeStoneConsumeHandlerPlugIn_Name", resourceCulture); + return ResourceManager.GetString("MuHelperConfiguration_StageInterval_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Stage interval. + /// + public static string MuHelperConfiguration_StageInterval_Name { + get { + return ResourceManager.GetString("MuHelperConfiguration_StageInterval_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Provides configuration for the MU Helper feature.. + /// + public static string MuHelperFeaturePlugIn_Description { + get { + return ResourceManager.GetString("MuHelperFeaturePlugIn_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to MU Helper Feature. + /// + public static string MuHelperFeaturePlugIn_Name { + get { + return ResourceManager.GetString("MuHelperFeaturePlugIn_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Describes how the game client counts the animations of Multi-Shot: the hits don't contain the animation counter.. + /// + public static string MultiShotAnimationCounterStrategy_Description { + get { + return ResourceManager.GetString("MultiShotAnimationCounterStrategy_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Multi-Shot animation counter. + /// + public static string MultiShotAnimationCounterStrategy_Name { + get { + return ResourceManager.GetString("MultiShotAnimationCounterStrategy_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Handles the chat command '/goldnotice message'. Sends a global golden notice message to all players of the game.. + /// + public static string NoticeChatCommandPlugIn_Description { + get { + return ResourceManager.GetString("NoticeChatCommandPlugIn_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Notice chat command. + /// + public static string NoticeChatCommandPlugIn_Name { + get { + return ResourceManager.GetString("NoticeChatCommandPlugIn_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Handles the start of nova skill of the wizard class.. + /// + public static string NovaSkillStartPlugin_Description { + get { + return ResourceManager.GetString("NovaSkillStartPlugin_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to NovaSkillStartPlugin. + /// + public static string NovaSkillStartPlugin_Name { + get { + return ResourceManager.GetString("NovaSkillStartPlugin_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Handles the stopping of nova skill of the wizard class.. + /// + public static string NovaSkillStopPlugin_Description { + get { + return ResourceManager.GetString("NovaSkillStopPlugin_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to NovaSkillStopPlugin. + /// + public static string NovaSkillStopPlugin_Name { + get { + return ResourceManager.GetString("NovaSkillStopPlugin_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The message to show when the player does not have the required VIP level for this command (excluding GM).. + /// + public static string NpcChatCommandConfiguration_InsufficientVipLevelMessage_Description { + get { + return ResourceManager.GetString("NpcChatCommandConfiguration_InsufficientVipLevelMessage_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Insufficient VIP Level Message. + /// + public static string NpcChatCommandConfiguration_InsufficientVipLevelMessage_Name { + get { + return ResourceManager.GetString("NpcChatCommandConfiguration_InsufficientVipLevelMessage_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The minimum VIP level to use the command. Default: 0.. + /// + public static string NpcChatCommandConfiguration_MinimumVipLevel_Description { + get { + return ResourceManager.GetString("NpcChatCommandConfiguration_MinimumVipLevel_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Minimum VIP Level. + /// + public static string NpcChatCommandConfiguration_MinimumVipLevel_Name { + get { + return ResourceManager.GetString("NpcChatCommandConfiguration_MinimumVipLevel_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The ID of the NPC to open the merchant store. Default: Potion Girl Amy - 253.. + /// + public static string NpcChatCommandConfiguration_OpenMerchantNpc_Description { + get { + return ResourceManager.GetString("NpcChatCommandConfiguration_OpenMerchantNpc_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to NPC ID. + /// + public static string NpcChatCommandConfiguration_OpenMerchantNpc_Name { + get { + return ResourceManager.GetString("NpcChatCommandConfiguration_OpenMerchantNpc_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Opens the merchant NPC store.. + /// + public static string NpcChatCommandPlugIn_Description { + get { + return ResourceManager.GetString("NpcChatCommandPlugIn_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to NPC open merchant chat command. + /// + public static string NpcChatCommandPlugIn_Name { + get { + return ResourceManager.GetString("NpcChatCommandPlugIn_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Group of the accepted item (e.g. 14 for event items).. + /// + public static string NpcItemRegistrationRule_AcceptedItemGroup_Description { + get { + return ResourceManager.GetString("NpcItemRegistrationRule_AcceptedItemGroup_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Accepted Item Group. + /// + public static string NpcItemRegistrationRule_AcceptedItemGroup_Name { + get { + return ResourceManager.GetString("NpcItemRegistrationRule_AcceptedItemGroup_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Number of the accepted item (e.g. 21 for Rena).. + /// + public static string NpcItemRegistrationRule_AcceptedItemNumber_Description { + get { + return ResourceManager.GetString("NpcItemRegistrationRule_AcceptedItemNumber_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Accepted Item Number. + /// + public static string NpcItemRegistrationRule_AcceptedItemNumber_Name { + get { + return ResourceManager.GetString("NpcItemRegistrationRule_AcceptedItemNumber_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The NPC definition number (e.g. 236 for Golden Archer).. + /// + public static string NpcItemRegistrationRule_NpcNumber_Description { + get { + return ResourceManager.GetString("NpcItemRegistrationRule_NpcNumber_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to NPC Number. + /// + public static string NpcItemRegistrationRule_NpcNumber_Name { + get { + return ResourceManager.GetString("NpcItemRegistrationRule_NpcNumber_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Number of items required to receive a reward.. + /// + public static string NpcItemRegistrationRule_RequiredItemsCount_Description { + get { + return ResourceManager.GetString("NpcItemRegistrationRule_RequiredItemsCount_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Required Items Count. + /// + public static string NpcItemRegistrationRule_RequiredItemsCount_Name { + get { + return ResourceManager.GetString("NpcItemRegistrationRule_RequiredItemsCount_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The DropItemGroup used to generate the item reward drop. If empty, no item drops (Zen reward only).. + /// + public static string NpcItemRegistrationRule_RewardDropItemGroup_Description { + get { + return ResourceManager.GetString("NpcItemRegistrationRule_RewardDropItemGroup_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Reward Drop Item Group. + /// + public static string NpcItemRegistrationRule_RewardDropItemGroup_Name { + get { + return ResourceManager.GetString("NpcItemRegistrationRule_RewardDropItemGroup_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Zen awarded upon reaching the required item count.. + /// + public static string NpcItemRegistrationRule_RewardZen_Description { + get { + return ResourceManager.GetString("NpcItemRegistrationRule_RewardZen_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Reward Zen. + /// + public static string NpcItemRegistrationRule_RewardZen_Name { + get { + return ResourceManager.GetString("NpcItemRegistrationRule_RewardZen_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The NPC which is handled by this plugin. If no NPC is set, the plugin doesn't handle any NPC.. + /// + public static string NpcTalkPlugInConfiguration_Npc_Description { + get { + return ResourceManager.GetString("NpcTalkPlugInConfiguration_Npc_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to NPC. + /// + public static string NpcTalkPlugInConfiguration_Npc_Name { + get { + return ResourceManager.GetString("NpcTalkPlugInConfiguration_Npc_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Allows players to start offline leveling with /offlevel. The character stays in the world after the client disconnects and stops when the player logs back in.. + /// + public static string OfflineLevelingChatCommandPlugIn_Description { + get { + return ResourceManager.GetString("OfflineLevelingChatCommandPlugIn_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Offline Leveling Command. + /// + public static string OfflineLevelingChatCommandPlugIn_Name { + get { + return ResourceManager.GetString("OfflineLevelingChatCommandPlugIn_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Handles the chat command '/online'. Gets the count of game masters and players online.. + /// + public static string OnlineChatCommandPlugIn_Description { + get { + return ResourceManager.GetString("OnlineChatCommandPlugIn_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Online chat command. + /// + public static string OnlineChatCommandPlugIn_Name { + get { + return ResourceManager.GetString("OnlineChatCommandPlugIn_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The message to show when the player does not have the required VIP level for this command (excluding GM).. + /// + public static string OpenWarehouseChatCommandConfiguration_InsufficientVipLevelMessage_Description { + get { + return ResourceManager.GetString("OpenWarehouseChatCommandConfiguration_InsufficientVipLevelMessage_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Insufficient VIP Level Message. + /// + public static string OpenWarehouseChatCommandConfiguration_InsufficientVipLevelMessage_Name { + get { + return ResourceManager.GetString("OpenWarehouseChatCommandConfiguration_InsufficientVipLevelMessage_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The minimum VIP level to use the command (excluding GM). Default: 0.. + /// + public static string OpenWarehouseChatCommandConfiguration_MinimumVipLevel_Description { + get { + return ResourceManager.GetString("OpenWarehouseChatCommandConfiguration_MinimumVipLevel_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Minimum VIP Level. + /// + public static string OpenWarehouseChatCommandConfiguration_MinimumVipLevel_Name { + get { + return ResourceManager.GetString("OpenWarehouseChatCommandConfiguration_MinimumVipLevel_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Opens the warehouse.. + /// + public static string OpenWarehouseChatCommandPlugIn_Description { + get { + return ResourceManager.GetString("OpenWarehouseChatCommandPlugIn_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Open Warehouse chat command. + /// + public static string OpenWarehouseChatCommandPlugIn_Name { + get { + return ResourceManager.GetString("OpenWarehouseChatCommandPlugIn_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Automatically rejoins players to their previous party upon entering the world.. + /// + public static string PartyAutoRejoinPlugIn_Description { + get { + return ResourceManager.GetString("PartyAutoRejoinPlugIn_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Party Auto-Rejoin. + /// + public static string PartyAutoRejoinPlugIn_Name { + get { + return ResourceManager.GetString("PartyAutoRejoinPlugIn_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Force Single Map. + /// + public static string PeriodicInvasionConfiguration_ForceSingleMap_Name { + get { + return ResourceManager.GetString("PeriodicInvasionConfiguration_ForceSingleMap_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Monster Spawns. + /// + public static string PeriodicInvasionConfiguration_Mobs_Name { + get { + return ResourceManager.GetString("PeriodicInvasionConfiguration_Mobs_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Saves the progress of players periodically when their status is 'EnteredWorld'.. + /// + public static string PeriodicSaveProgressPlugIn_Description { + get { + return ResourceManager.GetString("PeriodicSaveProgressPlugIn_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Periodic Save Progress. + /// + public static string PeriodicSaveProgressPlugIn_Name { + get { + return ResourceManager.GetString("PeriodicSaveProgressPlugIn_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Save interval. + /// + public static string PeriodicSaveProgressPlugInConfiguration_Interval_Name { + get { + return ResourceManager.GetString("PeriodicSaveProgressPlugInConfiguration_Interval_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Restricts the event to the selected game servers. An empty selection means the event runs on all servers.. + /// + public static string PeriodicTaskConfiguration_AllowedServerIds_Description { + get { + return ResourceManager.GetString("PeriodicTaskConfiguration_AllowedServerIds_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Active on servers. + /// + public static string PeriodicTaskConfiguration_AllowedServerIds_Name { + get { + return ResourceManager.GetString("PeriodicTaskConfiguration_AllowedServerIds_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The text which prints as a golden message in the game when task ends.. + /// + public static string PeriodicTaskConfiguration_EndMessage_Description { + get { + return ResourceManager.GetString("PeriodicTaskConfiguration_EndMessage_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to End message. + /// + public static string PeriodicTaskConfiguration_EndMessage_Name { + get { + return ResourceManager.GetString("PeriodicTaskConfiguration_EndMessage_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Pre-start message delay. + /// + public static string PeriodicTaskConfiguration_PreStartMessageDelay_Name { + get { + return ResourceManager.GetString("PeriodicTaskConfiguration_PreStartMessageDelay_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The text which prints as a golden message in the game when task starts.. + /// + public static string PeriodicTaskConfiguration_StartMessage_Description { + get { + return ResourceManager.GetString("PeriodicTaskConfiguration_StartMessage_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Start message. + /// + public static string PeriodicTaskConfiguration_StartMessage_Name { + get { + return ResourceManager.GetString("PeriodicTaskConfiguration_StartMessage_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Task duration (minimum). + /// + public static string PeriodicTaskConfiguration_TaskDuration_Name { + get { + return ResourceManager.GetString("PeriodicTaskConfiguration_TaskDuration_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Timetable. + /// + public static string PeriodicTaskConfiguration_Timetable_Name { + get { + return ResourceManager.GetString("PeriodicTaskConfiguration_Timetable_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Gives the trainable pets of a player a share of the experience which the player gained for a kill.. + /// + public static string PetExperiencePlugIn_Description { + get { + return ResourceManager.GetString("PetExperiencePlugIn_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to PetExperiencePlugIn. + /// + public static string PetExperiencePlugIn_Name { + get { + return ResourceManager.GetString("PetExperiencePlugIn_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Handles the phoenix shot weapon skill of the rage fighter class. Additionally to the attacked target, it will hit up to seven additional targets.. + /// + public static string PhoenixShotSkillPlugIn_Description { + get { + return ResourceManager.GetString("PhoenixShotSkillPlugIn_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Phoenix Shot Skill. + /// + public static string PhoenixShotSkillPlugIn_Name { + get { + return ResourceManager.GetString("PhoenixShotSkillPlugIn_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Handles the chat command '/pk <char> <pk_lvl> <pk_count>'. Sets player kill level and count of a character.. + /// + public static string PkChatCommandPlugIn_Description { + get { + return ResourceManager.GetString("PkChatCommandPlugIn_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to PK chat command. + /// + public static string PkChatCommandPlugIn_Name { + get { + return ResourceManager.GetString("PkChatCommandPlugIn_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Handles the chat command '/pkclear <char>'. Clears the player kill count.. + /// + public static string PkClearChatCommandPlugIn_Description { + get { + return ResourceManager.GetString("PkClearChatCommandPlugIn_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to PK clear chat command. + /// + public static string PkClearChatCommandPlugIn_Name { + get { + return ResourceManager.GetString("PkClearChatCommandPlugIn_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Allows regular players to use this command to clear their own PK status for Zen.. + /// + public static string PKClearConfiguration_AllowRegularPlayers_Description { + get { + return ResourceManager.GetString("PKClearConfiguration_AllowRegularPlayers_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Allow Regular Players. + /// + public static string PKClearConfiguration_AllowRegularPlayers_Name { + get { + return ResourceManager.GetString("PKClearConfiguration_AllowRegularPlayers_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The amount of Zen required to clear one PK count.. + /// + public static string PKClearConfiguration_ZenCostPerKill_Description { + get { + return ResourceManager.GetString("PKClearConfiguration_ZenCostPerKill_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Zen Cost Per Kill. + /// + public static string PKClearConfiguration_ZenCostPerKill_Name { + get { + return ResourceManager.GetString("PKClearConfiguration_ZenCostPerKill_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to This plugin decreases the experience after the player has been killed by a monster.. + /// + public static string PlayerLosesExperienceAfterDeathPlugIn_Description { + get { + return ResourceManager.GetString("PlayerLosesExperienceAfterDeathPlugIn_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Player exp loss after death. + /// + public static string PlayerLosesExperienceAfterDeathPlugIn_Name { + get { + return ResourceManager.GetString("PlayerLosesExperienceAfterDeathPlugIn_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Experience loss %. + /// + public static string PlayerLosesExperienceAfterDeathPlugInConfiguration_ExperienceLossPercentage_Name { + get { + return ResourceManager.GetString("PlayerLosesExperienceAfterDeathPlugInConfiguration_ExperienceLossPercentage_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Is master. + /// + public static string PlayerLosesExperienceAfterDeathPlugInConfiguration_IsMaster_Name { + get { + return ResourceManager.GetString("PlayerLosesExperienceAfterDeathPlugInConfiguration_IsMaster_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Losses per stage. + /// + public static string PlayerLosesExperienceAfterDeathPlugInConfiguration_Losses_Name { + get { + return ResourceManager.GetString("PlayerLosesExperienceAfterDeathPlugInConfiguration_Losses_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Losses per level. + /// + public static string PlayerLosesExperienceAfterDeathPlugInConfiguration_LossesPerLevel_Name { + get { + return ResourceManager.GetString("PlayerLosesExperienceAfterDeathPlugInConfiguration_LossesPerLevel_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Minimum level. + /// + public static string PlayerLosesExperienceAfterDeathPlugInConfiguration_MinimumLevel_Name { + get { + return ResourceManager.GetString("PlayerLosesExperienceAfterDeathPlugInConfiguration_MinimumLevel_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to State. + /// + public static string PlayerLosesExperienceAfterDeathPlugInConfiguration_State_Name { + get { + return ResourceManager.GetString("PlayerLosesExperienceAfterDeathPlugInConfiguration_State_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to This plugin decreases the money (zen) after the player has been killed by a monster.. + /// + public static string PlayerLosesMoneyAfterDeathPlugIn_Description { + get { + return ResourceManager.GetString("PlayerLosesMoneyAfterDeathPlugIn_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Player money loss after death. + /// + public static string PlayerLosesMoneyAfterDeathPlugIn_Name { + get { + return ResourceManager.GetString("PlayerLosesMoneyAfterDeathPlugIn_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Inventory money loss %. + /// + public static string PlayerLosesMoneyAfterDeathPlugInConfiguration_InventoryMoneyLossPercentage_Name { + get { + return ResourceManager.GetString("PlayerLosesMoneyAfterDeathPlugInConfiguration_InventoryMoneyLossPercentage_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Is master. + /// + public static string PlayerLosesMoneyAfterDeathPlugInConfiguration_IsMaster_Name { + get { + return ResourceManager.GetString("PlayerLosesMoneyAfterDeathPlugInConfiguration_IsMaster_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Losses per level. + /// + public static string PlayerLosesMoneyAfterDeathPlugInConfiguration_LossesPerLevel_Name { + get { + return ResourceManager.GetString("PlayerLosesMoneyAfterDeathPlugInConfiguration_LossesPerLevel_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Minimum level. + /// + public static string PlayerLosesMoneyAfterDeathPlugInConfiguration_MinimumLevel_Name { + get { + return ResourceManager.GetString("PlayerLosesMoneyAfterDeathPlugInConfiguration_MinimumLevel_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Vault money loss %. + /// + public static string PlayerLosesMoneyAfterDeathPlugInConfiguration_VaultMoneyLossPercentage_Name { + get { + return ResourceManager.GetString("PlayerLosesMoneyAfterDeathPlugInConfiguration_VaultMoneyLossPercentage_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Allows players to set the prices of the items in their personal store in configured items like jewels, or in account coins, too. Only the open source client shows these prices; with other clients, they can be set by chat command.. + /// + public static string PlayerShopCurrenciesFeaturePlugIn_Description { + get { + return ResourceManager.GetString("PlayerShopCurrenciesFeaturePlugIn_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Player shop currencies. + /// + public static string PlayerShopCurrenciesFeaturePlugIn_Name { + get { + return ResourceManager.GetString("PlayerShopCurrenciesFeaturePlugIn_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Handles the pollution skill (book of lagle) of the summoner class. Based on a chance, it may push the targets 2 squares away from the attacker.. + /// + public static string PollutionSkillPlugIn_Description { + get { + return ResourceManager.GetString("PollutionSkillPlugIn_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Pollution Skill. + /// + public static string PollutionSkillPlugIn_Name { + get { + return ResourceManager.GetString("PollutionSkillPlugIn_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Handles the chat command '/post message'. Sends a global blue system message to all players of the game.. + /// + public static string PostChatCommandPlugIn_Description { + get { + return ResourceManager.GetString("PostChatCommandPlugIn_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Post chat command. + /// + public static string PostChatCommandPlugIn_Name { + get { + return ResourceManager.GetString("PostChatCommandPlugIn_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to This plugin increases the monster kill count of the quest state of active quests.. + /// + public static string QuestMonsterKillCountPlugIn_Description { + get { + return ResourceManager.GetString("QuestMonsterKillCountPlugIn_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Count killed quest monsters. + /// + public static string QuestMonsterKillCountPlugIn_Name { + get { + return ResourceManager.GetString("QuestMonsterKillCountPlugIn_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Message. + /// + public static string QuestMonsterKillCountPlugInConfiguration_Message_Name { + get { + return ResourceManager.GetString("QuestMonsterKillCountPlugInConfiguration_Message_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Unlocks the Rage Fighter class for the account when a player uses the Rage Fighter Character Card from the cash shop storage.. + /// + public static string RageFighterCharacterCardDeliveryPlugIn_Description { + get { + return ResourceManager.GetString("RageFighterCharacterCardDeliveryPlugIn_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Cash shop: Rage Fighter Character Card. + /// + public static string RageFighterCharacterCardDeliveryPlugIn_Name { + get { + return ResourceManager.GetString("RageFighterCharacterCardDeliveryPlugIn_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The event in the hatchery of raklion: when all spider eggs are destroyed, Selupan appears. After the battle, the hatchery is closed for some time.. + /// + public static string RaklionPlugIn_Description { + get { + return ResourceManager.GetString("RaklionPlugIn_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Raklion Event. + /// + public static string RaklionPlugIn_Name { + get { + return ResourceManager.GetString("RaklionPlugIn_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Defines the value which is additionally recovered. From this value, the character level is subtracted.. + /// + public static string RecoverConsumeHandlerConfiguration_AdditionalRecoverMinusCharacterLevel_Description { + get { + return ResourceManager.GetString(("RecoverConsumeHandlerConfiguration_AdditionalRecoverMinusCharacterLevel_Descripti" + + "on"), resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Additional recover minus character level. + /// + public static string RecoverConsumeHandlerConfiguration_AdditionalRecoverMinusCharacterLevel_Name { + get { + return ResourceManager.GetString("RecoverConsumeHandlerConfiguration_AdditionalRecoverMinusCharacterLevel_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The cooldown time for the next consumption.. + /// + public static string RecoverConsumeHandlerConfiguration_CooldownTime_Description { + get { + return ResourceManager.GetString("RecoverConsumeHandlerConfiguration_CooldownTime_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Cooldown time. + /// + public static string RecoverConsumeHandlerConfiguration_CooldownTime_Name { + get { + return ResourceManager.GetString("RecoverConsumeHandlerConfiguration_CooldownTime_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to A value between 0 and 1 (exclusive). 1 would mean that the recover works instantly since level 1.. + /// + public static string RecoverConsumeHandlerConfiguration_RecoverDelayReductionByPotionLevel_Description { + get { + return ResourceManager.GetString("RecoverConsumeHandlerConfiguration_RecoverDelayReductionByPotionLevel_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Recover delay reduction by potion level. + /// + public static string RecoverConsumeHandlerConfiguration_RecoverDelayReductionByPotionLevel_Name { + get { + return ResourceManager.GetString("RecoverConsumeHandlerConfiguration_RecoverDelayReductionByPotionLevel_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Recover percentage increase by potion level. + /// + public static string RecoverConsumeHandlerConfiguration_RecoverPercentageIncreaseByPotionLevel_Name { + get { + return ResourceManager.GetString("RecoverConsumeHandlerConfiguration_RecoverPercentageIncreaseByPotionLevel_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to If none are defined, the recover happens instantly.. + /// + public static string RecoverConsumeHandlerConfiguration_RecoverSteps_Description { + get { + return ResourceManager.GetString("RecoverConsumeHandlerConfiguration_RecoverSteps_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Maximum character level. + /// + public static string RecoverConsumeHandlerConfiguration_RecoverSteps_Name { + get { + return ResourceManager.GetString("RecoverConsumeHandlerConfiguration_RecoverSteps_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Total recover percentage. + /// + public static string RecoverConsumeHandlerConfiguration_TotalRecoverPercentage_Name { + get { + return ResourceManager.GetString("RecoverConsumeHandlerConfiguration_TotalRecoverPercentage_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Handle red dragon invasion event. + /// + public static string RedDragonInvasionPlugIn_Description { + get { + return ResourceManager.GetString("RedDragonInvasionPlugIn_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Red Dragon Invasion. + /// + public static string RedDragonInvasionPlugIn_Name { + get { + return ResourceManager.GetString("RedDragonInvasionPlugIn_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Handles the chat command '/removenpc <id>'.. + /// + public static string RemoveNpcChatCommand_Description { + get { + return ResourceManager.GetString("RemoveNpcChatCommand_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Remove npc chat command. + /// + public static string RemoveNpcChatCommand_Name { + get { + return ResourceManager.GetString("RemoveNpcChatCommand_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Handles the requiem skill (book of neil) of the summoner class. Based on a chance, it may stun the target.. + /// + public static string RequiemSkillPlugIn_Description { + get { + return ResourceManager.GetString("RequiemSkillPlugIn_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Requiem Skill. + /// + public static string RequiemSkillPlugIn_Name { + get { + return ResourceManager.GetString("RequiemSkillPlugIn_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Handle Reset Character NPC Request. + /// + public static string ResetCharacterNpcPlugin_Description { + get { + return ResourceManager.GetString("ResetCharacterNpcPlugin_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to ResetCharacterNpcPlugin. + /// + public static string ResetCharacterNpcPlugin_Name { + get { + return ResourceManager.GetString("ResetCharacterNpcPlugin_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Handles the chat command '/reset'.. + /// + public static string ResetChatCommandPlugIn_Description { + get { + return ResourceManager.GetString("ResetChatCommandPlugIn_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Reset chat command. + /// + public static string ResetChatCommandPlugIn_Name { + get { + return ResourceManager.GetString("ResetChatCommandPlugIn_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Item cost tiers. + /// + public static string ResetConfiguration_ItemCostTiers_Name { + get { + return ResourceManager.GetString("ResetConfiguration_ItemCostTiers_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Level after reset. + /// + public static string ResetConfiguration_LevelAfterReset_Name { + get { + return ResourceManager.GetString("ResetConfiguration_LevelAfterReset_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Log out. + /// + public static string ResetConfiguration_LogOut_Name { + get { + return ResourceManager.GetString("ResetConfiguration_LogOut_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Move home. + /// + public static string ResetConfiguration_MoveHome_Name { + get { + return ResourceManager.GetString("ResetConfiguration_MoveHome_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Multiply points by reset count. + /// + public static string ResetConfiguration_MultiplyPointsByResetCount_Name { + get { + return ResourceManager.GetString("ResetConfiguration_MultiplyPointsByResetCount_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Multiply required money by reset count. + /// + public static string ResetConfiguration_MultiplyRequiredMoneyByResetCount_Name { + get { + return ResourceManager.GetString("ResetConfiguration_MultiplyRequiredMoneyByResetCount_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Points per reset. + /// + public static string ResetConfiguration_PointsPerReset_Name { + get { + return ResourceManager.GetString("ResetConfiguration_PointsPerReset_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Point tiers. + /// + public static string ResetConfiguration_PointsTiers_Name { + get { + return ResourceManager.GetString("ResetConfiguration_PointsTiers_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Replace level-up points with reset total. + /// + public static string ResetConfiguration_ReplacePointsPerReset_Name { + get { + return ResourceManager.GetString("ResetConfiguration_ReplacePointsPerReset_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Required level. + /// + public static string ResetConfiguration_RequiredLevel_Name { + get { + return ResourceManager.GetString("ResetConfiguration_RequiredLevel_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Required money. + /// + public static string ResetConfiguration_RequiredMoney_Name { + get { + return ResourceManager.GetString("ResetConfiguration_RequiredMoney_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Required reset item. + /// + public static string ResetConfiguration_RequiredResetItem_Name { + get { + return ResourceManager.GetString("ResetConfiguration_RequiredResetItem_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Reset limit. + /// + public static string ResetConfiguration_ResetLimit_Name { + get { + return ResourceManager.GetString("ResetConfiguration_ResetLimit_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Reset base stats to class defaults. + /// + public static string ResetConfiguration_ResetStats_Name { + get { + return ResourceManager.GetString("ResetConfiguration_ResetStats_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Provides configuration for the reset feature.. + /// + public static string ResetFeaturePlugIn_Description { + get { + return ResourceManager.GetString("ResetFeaturePlugIn_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Reset Feature. + /// + public static string ResetFeaturePlugIn_Name { + get { + return ResourceManager.GetString("ResetFeaturePlugIn_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The number of stat points which one durability of a reset fruit takes back.. + /// + public static string ResetFruitConsumeHandlerConfiguration_PointsPerDurability_Description { + get { + return ResourceManager.GetString("ResetFruitConsumeHandlerConfiguration_PointsPerDurability_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Points per durability. + /// + public static string ResetFruitConsumeHandlerConfiguration_PointsPerDurability_Name { + get { + return ResourceManager.GetString("ResetFruitConsumeHandlerConfiguration_PointsPerDurability_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Handles the chat command '/resetinfo'. Shows the required costs and the granted points for the next reset.. + /// + public static string ResetInfoChatCommandPlugIn_Description { + get { + return ResourceManager.GetString("ResetInfoChatCommandPlugIn_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Reset info chat command. + /// + public static string ResetInfoChatCommandPlugIn_Name { + get { + return ResourceManager.GetString("ResetInfoChatCommandPlugIn_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Minimum reset count. + /// + public static string ResetItemCostTier_MinimumResetCount_Name { + get { + return ResourceManager.GetString("ResetItemCostTier_MinimumResetCount_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Required item amount. + /// + public static string ResetItemCostTier_RequiredItemAmount_Name { + get { + return ResourceManager.GetString("ResetItemCostTier_RequiredItemAmount_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Minimum reset count. + /// + public static string ResetPointTier_MinimumResetCount_Name { + get { + return ResourceManager.GetString("ResetPointTier_MinimumResetCount_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Points granted. + /// + public static string ResetPointTier_PointsGranted_Name { + get { + return ResourceManager.GetString("ResetPointTier_PointsGranted_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Handles the chat command '/resetstats'.. + /// + public static string ResetStatsChatCommandPlugIn_Description { + get { + return ResourceManager.GetString("ResetStatsChatCommandPlugIn_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Reset Stats chat command. + /// + public static string ResetStatsChatCommandPlugIn_Name { + get { + return ResourceManager.GetString("ResetStatsChatCommandPlugIn_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Map number. + /// + public static string SantaVillageInvitationConsumeHandlerConfiguration_MapNumber_Name { + get { + return ResourceManager.GetString("SantaVillageInvitationConsumeHandlerConfiguration_MapNumber_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Plugin which handles the invitation to the santa village, which warps the player to the santa village.. + /// + public static string SantaVillageInvitationConsumeHandlerPlugIn_Description { + get { + return ResourceManager.GetString("SantaVillageInvitationConsumeHandlerPlugIn_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Invitation to Santa Village Consume Handler. + /// + public static string SantaVillageInvitationConsumeHandlerPlugIn_Name { + get { + return ResourceManager.GetString("SantaVillageInvitationConsumeHandlerPlugIn_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Updates the state of the self defense system.. + /// + public static string SelfDefensePlugIn_Description { + get { + return ResourceManager.GetString("SelfDefensePlugIn_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Self Defense. + /// + public static string SelfDefensePlugIn_Name { + get { + return ResourceManager.GetString("SelfDefensePlugIn_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Self-defense time-out.. + /// + public static string SelfDefensePlugInConfiguration_SelfDefenseTimeOut_Name { + get { + return ResourceManager.GetString("SelfDefensePlugInConfiguration_SelfDefenseTimeOut_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The time between one announcement and the next. The minimum is 10 seconds.. + /// + public static string ServerAnnouncementsConfiguration_Interval_Description { + get { + return ResourceManager.GetString("ServerAnnouncementsConfiguration_Interval_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Interval. + /// + public static string ServerAnnouncementsConfiguration_Interval_Name { + get { + return ResourceManager.GetString("ServerAnnouncementsConfiguration_Interval_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The announcements, in the order in which they are shown. After the last one, it starts over with the first one.. + /// + public static string ServerAnnouncementsConfiguration_Messages_Description { + get { + return ResourceManager.GetString("ServerAnnouncementsConfiguration_Messages_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Announcements. + /// + public static string ServerAnnouncementsConfiguration_Messages_Name { + get { + return ResourceManager.GetString("ServerAnnouncementsConfiguration_Messages_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Text. + /// + public static string ServerAnnouncementsConfiguration_Text_Name { + get { + return ResourceManager.GetString("ServerAnnouncementsConfiguration_Text_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to How the announcement is shown, e.g. as golden message in the center of the screen or as blue system message.. + /// + public static string ServerAnnouncementsConfiguration_Type_Description { + get { + return ResourceManager.GetString("ServerAnnouncementsConfiguration_Type_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Message Type. + /// + public static string ServerAnnouncementsConfiguration_Type_Name { + get { + return ResourceManager.GetString("ServerAnnouncementsConfiguration_Type_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Shows a configured list of announcements to all players of a game server, one after another in a fixed interval.. + /// + public static string ServerAnnouncementsPlugIn_Description { + get { + return ResourceManager.GetString("ServerAnnouncementsPlugIn_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Server announcements. + /// + public static string ServerAnnouncementsPlugIn_Name { + get { + return ResourceManager.GetString("ServerAnnouncementsPlugIn_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Sets level of a player. Usage: /setlevel (level) (optional:character). + /// + public static string SetLevelChatCommandPlugIn_Description { + get { + return ResourceManager.GetString("SetLevelChatCommandPlugIn_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Set level command. + /// + public static string SetLevelChatCommandPlugIn_Name { + get { + return ResourceManager.GetString("SetLevelChatCommandPlugIn_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Sets level up points of a player. Usage: /setleveluppoints (points) (optional:character). + /// + public static string SetLevelUpPointsChatCommandPlugIn_Description { + get { + return ResourceManager.GetString("SetLevelUpPointsChatCommandPlugIn_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Set level up points command. + /// + public static string SetLevelUpPointsChatCommandPlugIn_Name { + get { + return ResourceManager.GetString("SetLevelUpPointsChatCommandPlugIn_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Sets master level of a player. Usage: /setmasterlevel (level) (optional:character). + /// + public static string SetMasterLevelChatCommandPlugIn_Description { + get { + return ResourceManager.GetString("SetMasterLevelChatCommandPlugIn_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Set master level command. + /// + public static string SetMasterLevelChatCommandPlugIn_Name { + get { + return ResourceManager.GetString("SetMasterLevelChatCommandPlugIn_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Sets master level up points of a player. Usage: /setmasterleveluppoints (points) (optional:character). + /// + public static string SetMasterLevelUpPointsChatCommandPlugIn_Description { + get { + return ResourceManager.GetString("SetMasterLevelUpPointsChatCommandPlugIn_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Set master level up points command. + /// + public static string SetMasterLevelUpPointsChatCommandPlugIn_Name { + get { + return ResourceManager.GetString("SetMasterLevelUpPointsChatCommandPlugIn_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Sets money of a player. Usage: /setmoney (amount) (optional:character). + /// + public static string SetMoneyChatCommandPlugIn_Description { + get { + return ResourceManager.GetString("SetMoneyChatCommandPlugIn_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Set money command. + /// + public static string SetMoneyChatCommandPlugIn_Name { + get { + return ResourceManager.GetString("SetMoneyChatCommandPlugIn_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Sets resets of a player. Usage: /setresets (resets) (optional:character). + /// + public static string SetResetsChatCommandPlugIn_Description { + get { + return ResourceManager.GetString("SetResetsChatCommandPlugIn_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Set resets command. + /// + public static string SetResetsChatCommandPlugIn_Name { + get { + return ResourceManager.GetString("SetResetsChatCommandPlugIn_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Set stat points. Usage: /set (ene|agi|vit|str|cmd) (amount) (optional:character). + /// + public static string SetStatChatCommandPlugIn_Description { + get { + return ResourceManager.GetString("SetStatChatCommandPlugIn_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Set Stat chat command. + /// + public static string SetStatChatCommandPlugIn_Name { + get { + return ResourceManager.GetString("SetStatChatCommandPlugIn_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Updates and resets the shield recovery hiatus attribute.. + /// + public static string ShieldRecoveryHiatusPlugIn_Description { + get { + return ResourceManager.GetString("ShieldRecoveryHiatusPlugIn_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Shield Recovery Hiatus. + /// + public static string ShieldRecoveryHiatusPlugIn_Name { + get { + return ResourceManager.GetString("ShieldRecoveryHiatusPlugIn_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Sets the price of an item of the own personal store in one of the enabled currencies, e.g. '/shopprice 1 10 bless'. Without arguments, it lists the prices.. + /// + public static string ShopPriceChatCommandPlugIn_Description { + get { + return ResourceManager.GetString("ShopPriceChatCommandPlugIn_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Shop price chat command. + /// + public static string ShopPriceChatCommandPlugIn_Name { + get { + return ResourceManager.GetString("ShopPriceChatCommandPlugIn_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Handles the chat command '/fireworks <x> <y>'. Shows an fireworks effect at the specified coordinates.. + /// + public static string ShowFireworksEffectChatCommandPlugIn_Description { + get { + return ResourceManager.GetString("ShowFireworksEffectChatCommandPlugIn_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Show fireworks effect chat command. + /// + public static string ShowFireworksEffectChatCommandPlugIn_Name { + get { + return ResourceManager.GetString("ShowFireworksEffectChatCommandPlugIn_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Shows a message to all players when a player enters the game.. + /// + public static string ShowMessageToAllWhenPlayerEnteredWorldPlugIn_Description { + get { + return ResourceManager.GetString("ShowMessageToAllWhenPlayerEnteredWorldPlugIn_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Show Message To All When Player Entered World. + /// + public static string ShowMessageToAllWhenPlayerEnteredWorldPlugIn_Name { + get { + return ResourceManager.GetString("ShowMessageToAllWhenPlayerEnteredWorldPlugIn_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Handles the chat command '/showids'.. + /// + public static string ShowNpcIdsChatCommand_ShowNpcIdsChatCommand_Description { + get { + return ResourceManager.GetString("ShowNpcIdsChatCommand_ShowNpcIdsChatCommand_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Show NPC ids chat command. + /// + public static string ShowNpcIdsChatCommand_ShowNpcIdsChatCommand_Name { + get { + return ResourceManager.GetString("ShowNpcIdsChatCommand_ShowNpcIdsChatCommand_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Tells the client which currencies can be used for the prices of personal stores, when the player enters the game.. + /// + public static string ShowShopCurrenciesAfterEnterWorldPlugIn_Description { + get { + return ResourceManager.GetString("ShowShopCurrenciesAfterEnterWorldPlugIn_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Show player shop currencies after entering the game. + /// + public static string ShowShopCurrenciesAfterEnterWorldPlugIn_Name { + get { + return ResourceManager.GetString("ShowShopCurrenciesAfterEnterWorldPlugIn_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Tells the client which warps the player can select in the warp window, when the player enters the game.. + /// + public static string ShowWarpListAfterEnterWorldPlugIn_Description { + get { + return ResourceManager.GetString("ShowWarpListAfterEnterWorldPlugIn_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Show the warp list after entering the game. + /// + public static string ShowWarpListAfterEnterWorldPlugIn_Name { + get { + return ResourceManager.GetString("ShowWarpListAfterEnterWorldPlugIn_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Handles the chat command '/xmasfireworks <x> <y>'. Shows an christmas fireworks effect at the specified coordinates.. + /// + public static string ShowXmasFireworksEffectChatCommandPlugIn_Description { + get { + return ResourceManager.GetString("ShowXmasFireworksEffectChatCommandPlugIn_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Show xmas fireworks effect chat command. + /// + public static string ShowXmasFireworksEffectChatCommandPlugIn_Name { + get { + return ResourceManager.GetString("ShowXmasFireworksEffectChatCommandPlugIn_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Potion of Bless effect number. + /// + public static string SiegePotionConsumeHandlerConfiguration_BlessEffectNumber_Name { + get { + return ResourceManager.GetString("SiegePotionConsumeHandlerConfiguration_BlessEffectNumber_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Potion of Soul effect number. + /// + public static string SiegePotionConsumeHandlerConfiguration_SoulEffectNumber_Name { + get { + return ResourceManager.GetString("SiegePotionConsumeHandlerConfiguration_SoulEffectNumber_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Plugin which handles the siege potion consumption.. + /// + public static string SiegePotionConsumeHandlerPlugIn_Description { + get { + return ResourceManager.GetString("SiegePotionConsumeHandlerPlugIn_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Siege Potion Consume Handler. + /// + public static string SiegePotionConsumeHandlerPlugIn_Name { + get { + return ResourceManager.GetString("SiegePotionConsumeHandlerPlugIn_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Transforms a full stack of signs of dimensions into a mirror of dimensions.. + /// + public static string SignOfDimensionsStackedPlugIn_Description { + get { + return ResourceManager.GetString("SignOfDimensionsStackedPlugIn_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Sign of dimensions stack transformation. + /// + public static string SignOfDimensionsStackedPlugIn_Name { + get { + return ResourceManager.GetString("SignOfDimensionsStackedPlugIn_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Handles the chat command '/skin <number>'. Applies a monster skin to the game masters character.. + /// + public static string SkinChatCommandPlugIn_Description { + get { + return ResourceManager.GetString("SkinChatCommandPlugIn_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Skin chat command. + /// + public static string SkinChatCommandPlugIn_Name { + get { + return ResourceManager.GetString("SkinChatCommandPlugIn_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Handles the chat command '/skipwait'. Skips the current waiting phase of the mini game event (entering, countdown, standby); skipped waits count as completed.. + /// + public static string SkipMiniGameWaitChatCommandPlugIn_Description { + get { + return ResourceManager.GetString("SkipMiniGameWaitChatCommandPlugIn_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Skip mini game wait chat command. + /// + public static string SkipMiniGameWaitChatCommandPlugIn_Name { + get { + return ResourceManager.GetString("SkipMiniGameWaitChatCommandPlugIn_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Handles the chat command '/slidenotice message'. Sends a global notice to all players of the game which scrolls across the top of their screen.. + /// + public static string SlideNoticeChatCommandPlugIn_Description { + get { + return ResourceManager.GetString("SlideNoticeChatCommandPlugIn_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Slide notice chat command. + /// + public static string SlideNoticeChatCommandPlugIn_Name { + get { + return ResourceManager.GetString("SlideNoticeChatCommandPlugIn_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Plugin which handles the small complex potion consumption.. + /// + public static string SmallComplexPotionConsumeHandlerPlugIn_Description { + get { + return ResourceManager.GetString("SmallComplexPotionConsumeHandlerPlugIn_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Small Complex Potion Consume Handler. + /// + public static string SmallComplexPotionConsumeHandlerPlugIn_Name { + get { + return ResourceManager.GetString("SmallComplexPotionConsumeHandlerPlugIn_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Plugin which handles the small health potion consumption.. + /// + public static string SmallHealthPotionConsumeHandlerPlugIn_Description { + get { + return ResourceManager.GetString("SmallHealthPotionConsumeHandlerPlugIn_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Small Health Potion Consume Handler. + /// + public static string SmallHealthPotionConsumeHandlerPlugIn_Name { + get { + return ResourceManager.GetString("SmallHealthPotionConsumeHandlerPlugIn_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Plugin which handles the small mana potion consumption.. + /// + public static string SmallManaPotionConsumeHandler_Description { + get { + return ResourceManager.GetString("SmallManaPotionConsumeHandler_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to SmallManaPotionConsumeHandler. + /// + public static string SmallManaPotionConsumeHandler_Name { + get { + return ResourceManager.GetString("SmallManaPotionConsumeHandler_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Plugin which handles the small shield potion consumption.. + /// + public static string SmallShieldPotionConsumeHandlerPlugIn_Description { + get { + return ResourceManager.GetString("SmallShieldPotionConsumeHandlerPlugIn_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Small Shield Potion Consume Handler. + /// + public static string SmallShieldPotionConsumeHandlerPlugIn_Name { + get { + return ResourceManager.GetString("SmallShieldPotionConsumeHandlerPlugIn_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Spawns a player of a running soccer match on the soccer ground.. + /// + public static string SoccerSpawnGatePlugIn_Description { + get { + return ResourceManager.GetString("SoccerSpawnGatePlugIn_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to SoccerSpawnGatePlugIn. + /// + public static string SoccerSpawnGatePlugIn_Name { + get { + return ResourceManager.GetString("SoccerSpawnGatePlugIn_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Handles the soul barrier proficiency skill of the grand master.. + /// + public static string SoulBarrierProficieSkillAction_Description { + get { + return ResourceManager.GetString("SoulBarrierProficieSkillAction_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to SoulBarrierProficieSkillAction. + /// + public static string SoulBarrierProficieSkillAction_Name { + get { + return ResourceManager.GetString("SoulBarrierProficieSkillAction_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Handles the soul barrier strengthener skill of the grand master.. + /// + public static string SoulBarrierStrengSkillAction_Description { + get { + return ResourceManager.GetString("SoulBarrierStrengSkillAction_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to SoulBarrierStrengSkillAction. + /// + public static string SoulBarrierStrengSkillAction_Name { + get { + return ResourceManager.GetString("SoulBarrierStrengSkillAction_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Plugin which handles the jewel of soul consumption.. + /// + public static string SoulJewelConsumeHandlerPlugIn_Description { + get { + return ResourceManager.GetString("SoulJewelConsumeHandlerPlugIn_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Soul Jewel Consume Handler. + /// + public static string SoulJewelConsumeHandlerPlugIn_Name { + get { + return ResourceManager.GetString("SoulJewelConsumeHandlerPlugIn_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Alert Debounce Seconds. + /// + public static string SpeedHackDetectConfiguration_AlertDebounceSeconds_Caption { + get { + return ResourceManager.GetString("SpeedHackDetectConfiguration_AlertDebounceSeconds_Caption", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Attack Speed Base Delay Ms. + /// + public static string SpeedHackDetectConfiguration_AttackSpeedBaseDelayMs_Caption { + get { + return ResourceManager.GetString("SpeedHackDetectConfiguration_AttackSpeedBaseDelayMs_Caption", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Attack Speed Min Interval Ms. + /// + public static string SpeedHackDetectConfiguration_AttackSpeedMinIntervalMs_Caption { + get { + return ResourceManager.GetString("SpeedHackDetectConfiguration_AttackSpeedMinIntervalMs_Caption", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Per-Skill Attack Speed Profiles. + /// + public static string SpeedHackDetectConfiguration_AttackSpeedProfiles_Caption { + get { + return ResourceManager.GetString("SpeedHackDetectConfiguration_AttackSpeedProfiles_Caption", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Optional overrides for individual skills. A profile replaces the common attack or magic speed settings for its skill.. + /// + public static string SpeedHackDetectConfiguration_AttackSpeedProfiles_Description { + get { + return ResourceManager.GetString("SpeedHackDetectConfiguration_AttackSpeedProfiles_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Attack Speed Scaling Factor. + /// + public static string SpeedHackDetectConfiguration_AttackSpeedScalingFactor_Caption { + get { + return ResourceManager.GetString("SpeedHackDetectConfiguration_AttackSpeedScalingFactor_Caption", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Auto Ban. + /// + public static string SpeedHackDetectConfiguration_AutoBan_Caption { + get { + return ResourceManager.GetString("SpeedHackDetectConfiguration_AutoBan_Caption", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Disconnect On Violation. + /// + public static string SpeedHackDetectConfiguration_DisconnectOnViolation_Caption { + get { + return ResourceManager.GetString("SpeedHackDetectConfiguration_DisconnectOnViolation_Caption", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Enforce Walk Speed. + /// + public static string SpeedHackDetectConfiguration_EnforceWalkSpeed_Caption { + get { + return ResourceManager.GetString("SpeedHackDetectConfiguration_EnforceWalkSpeed_Caption", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Magic Speed Base Delay Ms. + /// + public static string SpeedHackDetectConfiguration_MagicSpeedBaseDelayMs_Caption { + get { + return ResourceManager.GetString("SpeedHackDetectConfiguration_MagicSpeedBaseDelayMs_Caption", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Magic Speed Min Interval Ms. + /// + public static string SpeedHackDetectConfiguration_MagicSpeedMinIntervalMs_Caption { + get { + return ResourceManager.GetString("SpeedHackDetectConfiguration_MagicSpeedMinIntervalMs_Caption", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Magic Speed Scaling Factor. + /// + public static string SpeedHackDetectConfiguration_MagicSpeedScalingFactor_Caption { + get { + return ResourceManager.GetString("SpeedHackDetectConfiguration_MagicSpeedScalingFactor_Caption", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Max Allowed Walk Start Offset. + /// + public static string SpeedHackDetectConfiguration_MaxAllowedWalkStartOffset_Caption { + get { + return ResourceManager.GetString("SpeedHackDetectConfiguration_MaxAllowedWalkStartOffset_Caption", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Max Attack Tokens. + /// + public static string SpeedHackDetectConfiguration_MaxAttackTokens_Caption { + get { + return ResourceManager.GetString("SpeedHackDetectConfiguration_MaxAttackTokens_Caption", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Max Warnings. + /// + public static string SpeedHackDetectConfiguration_MaxWarnings_Caption { + get { + return ResourceManager.GetString("SpeedHackDetectConfiguration_MaxWarnings_Caption", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Observe Only. + /// + public static string SpeedHackDetectConfiguration_ObserveOnly_Caption { + get { + return ResourceManager.GetString("SpeedHackDetectConfiguration_ObserveOnly_Caption", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Ping Attack Speed Tolerance. + /// + public static string SpeedHackDetectConfiguration_PingAttackSpeedTolerance_Caption { + get { + return ResourceManager.GetString("SpeedHackDetectConfiguration_PingAttackSpeedTolerance_Caption", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Ping Clock Tolerance Ms. + /// + public static string SpeedHackDetectConfiguration_PingClockToleranceMs_Caption { + get { + return ResourceManager.GetString("SpeedHackDetectConfiguration_PingClockToleranceMs_Caption", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Skill Hit Area Range Slack. + /// + public static string SpeedHackDetectConfiguration_SkillHitAreaRangeSlack_Caption { + get { + return ResourceManager.GetString("SpeedHackDetectConfiguration_SkillHitAreaRangeSlack_Caption", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Skill Hit Counter Replay Window Ms. + /// + public static string SpeedHackDetectConfiguration_SkillHitCounterReplayWindowMs_Caption { + get { + return ResourceManager.GetString("SpeedHackDetectConfiguration_SkillHitCounterReplayWindowMs_Caption", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Skill Hit Max Area To Hit Delay Seconds. + /// + public static string SpeedHackDetectConfiguration_SkillHitMaxAreaToHitDelaySeconds_Caption { + get { + return ResourceManager.GetString("SpeedHackDetectConfiguration_SkillHitMaxAreaToHitDelaySeconds_Caption", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Violation Score Half Life Minutes. + /// + public static string SpeedHackDetectConfiguration_ViolationScoreHalfLifeMinutes_Caption { + get { + return ResourceManager.GetString("SpeedHackDetectConfiguration_ViolationScoreHalfLifeMinutes_Caption", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Violation Score Reject Threshold. + /// + public static string SpeedHackDetectConfiguration_ViolationScoreRejectThreshold_Caption { + get { + return ResourceManager.GetString("SpeedHackDetectConfiguration_ViolationScoreRejectThreshold_Caption", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Walk Speed Tolerance Ms. + /// + public static string SpeedHackDetectConfiguration_WalkSpeedToleranceMs_Caption { + get { + return ResourceManager.GetString("SpeedHackDetectConfiguration_WalkSpeedToleranceMs_Caption", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Walk Speed Window Seconds. + /// + public static string SpeedHackDetectConfiguration_WalkSpeedWindowSeconds_Caption { + get { + return ResourceManager.GetString("SpeedHackDetectConfiguration_WalkSpeedWindowSeconds_Caption", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Warning History Hours. + /// + public static string SpeedHackDetectConfiguration_WarningHistoryHours_Caption { + get { + return ResourceManager.GetString("SpeedHackDetectConfiguration_WarningHistoryHours_Caption", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Detects and prevents player walk and attack speedhacking.. + /// + public static string SpeedHackDetectPlugIn_Description { + get { + return ResourceManager.GetString("SpeedHackDetectPlugIn_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Speedhack Anti-Cheat. + /// + public static string SpeedHackDetectPlugIn_Name { + get { + return ResourceManager.GetString("SpeedHackDetectPlugIn_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Handles the chat command '/startbc'. Starts the blood castle event at the next possible time.. + /// + public static string StartBloodCastleEventChatCommandPlugIn_Description { + get { + return ResourceManager.GetString("StartBloodCastleEventChatCommandPlugIn_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Start Blood Castle Event Chat Command. + /// + public static string StartBloodCastleEventChatCommandPlugIn_Name { + get { + return ResourceManager.GetString("StartBloodCastleEventChatCommandPlugIn_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Handles the chat command '/startcc'. Starts the chaos castle event at the next possible time.. + /// + public static string StartChaosCastleEventChatCommandPlugIn_Description { + get { + return ResourceManager.GetString("StartChaosCastleEventChatCommandPlugIn_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Start Chaos Castle Event Chat Command. + /// + public static string StartChaosCastleEventChatCommandPlugIn_Name { + get { + return ResourceManager.GetString("StartChaosCastleEventChatCommandPlugIn_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Handles the chat command '/startds'. Starts the devil square event at the next possible time.. + /// + public static string StartDevilSquareEventChatCommandPlugIn_Description { + get { + return ResourceManager.GetString("StartDevilSquareEventChatCommandPlugIn_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Start Devil Square Event Chat Command. + /// + public static string StartDevilSquareEventChatCommandPlugIn_Name { + get { + return ResourceManager.GetString("StartDevilSquareEventChatCommandPlugIn_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Handles the chat command '/startit'. Starts the illusion temple event at the next possible time.. + /// + public static string StartIllusionTempleEventChatCommandPlugIn_Description { + get { + return ResourceManager.GetString("StartIllusionTempleEventChatCommandPlugIn_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Start Illusion Temple Event Chat Command. + /// + public static string StartIllusionTempleEventChatCommandPlugIn_Name { + get { + return ResourceManager.GetString("StartIllusionTempleEventChatCommandPlugIn_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Handles the chat command '/startkanturu'. Starts the kanturu event at the next possible time.. + /// + public static string StartKanturuEventChatCommandPlugIn_Description { + get { + return ResourceManager.GetString("StartKanturuEventChatCommandPlugIn_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Start Kanturu Event Chat Command. + /// + public static string StartKanturuEventChatCommandPlugIn_Name { + get { + return ResourceManager.GetString("StartKanturuEventChatCommandPlugIn_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Chat command enabled. + /// + public static string StatResetConfiguration_ChatCommandEnabled_Name { + get { + return ResourceManager.GetString("StatResetConfiguration_ChatCommandEnabled_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Log out. + /// + public static string StatResetConfiguration_LogOut_Name { + get { + return ResourceManager.GetString("StatResetConfiguration_LogOut_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Move home. + /// + public static string StatResetConfiguration_MoveHome_Name { + get { + return ResourceManager.GetString("StatResetConfiguration_MoveHome_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Required level. + /// + public static string StatResetConfiguration_RequiredLevel_Name { + get { + return ResourceManager.GetString("StatResetConfiguration_RequiredLevel_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Required money. + /// + public static string StatResetConfiguration_RequiredMoney_Name { + get { + return ResourceManager.GetString("StatResetConfiguration_RequiredMoney_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Required reset item. + /// + public static string StatResetConfiguration_RequiredResetItem_Name { + get { + return ResourceManager.GetString("StatResetConfiguration_RequiredResetItem_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Provides configuration for the stat reset feature.. + /// + public static string StatResetFeaturePlugIn_Description { + get { + return ResourceManager.GetString("StatResetFeaturePlugIn_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Stat Reset Feature. + /// + public static string StatResetFeaturePlugIn_Name { + get { + return ResourceManager.GetString("StatResetFeaturePlugIn_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Plugin which handles the reset fruit of strength, which takes back invested strength points and returns them as level up points.. + /// + public static string StrengthResetFruitConsumeHandlerPlugIn_Description { + get { + return ResourceManager.GetString("StrengthResetFruitConsumeHandlerPlugIn_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Reset Fruit of Strength Consume Handler. + /// + public static string StrengthResetFruitConsumeHandlerPlugIn_Name { + get { + return ResourceManager.GetString("StrengthResetFruitConsumeHandlerPlugIn_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Unlocks the Summoner class for the account when a player uses the Summoner Character Card from the cash shop storage.. + /// + public static string SummonerCharacterCardDeliveryPlugIn_Description { + get { + return ResourceManager.GetString("SummonerCharacterCardDeliveryPlugIn_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Cash shop: Summoner Character Card. + /// + public static string SummonerCharacterCardDeliveryPlugIn_Name { + get { + return ResourceManager.GetString("SummonerCharacterCardDeliveryPlugIn_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Plugin which handles the summoning orb consumption.. + /// + public static string SummoningOrbConsumeHandlerPlugIn_Description { + get { + return ResourceManager.GetString("SummoningOrbConsumeHandlerPlugIn_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Summoning Orb Consume Handler. + /// + public static string SummoningOrbConsumeHandlerPlugIn_Name { + get { + return ResourceManager.GetString("SummoningOrbConsumeHandlerPlugIn_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Handles the summon party skill of the dark lord class.. + /// + public static string SummonPartySkillPlugin_Description { + get { + return ResourceManager.GetString("SummonPartySkillPlugin_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to SummonPartySkillPlugin. + /// + public static string SummonPartySkillPlugin_Name { + get { + return ResourceManager.GetString("SummonPartySkillPlugin_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Transforms a full stack of suspicious scraps of paper into a Gaion's Order.. + /// + public static string SuspiciousScrapOfPaperStackedPlugIn_Description { + get { + return ResourceManager.GetString("SuspiciousScrapOfPaperStackedPlugIn_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Suspicious scrap of paper stack transformation. + /// + public static string SuspiciousScrapOfPaperStackedPlugIn_Name { + get { + return ResourceManager.GetString("SuspiciousScrapOfPaperStackedPlugIn_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to This plugin transforms a stack of symbol of kundun into a lost map.. + /// + public static string SymbolOfKundunStackedPlugIn_Description { + get { + return ResourceManager.GetString("SymbolOfKundunStackedPlugIn_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to SymbolOfKundunStackedPlugIn. + /// + public static string SymbolOfKundunStackedPlugIn_Name { + get { + return ResourceManager.GetString("SymbolOfKundunStackedPlugIn_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Default (catch-all) handler for targeted skills. + /// + public static string TargetedSkillDefaultPlugin_Description { + get { + return ResourceManager.GetString("TargetedSkillDefaultPlugin_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to TargetedSkillDefaultPlugin. + /// + public static string TargetedSkillDefaultPlugin_Name { + get { + return ResourceManager.GetString("TargetedSkillDefaultPlugin_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Handles the chat command '/teleport <x> <y>'. Teleports the game master to the specified coordinates.. + /// + public static string TeleportChatCommandPlugIn_Description { + get { + return ResourceManager.GetString("TeleportChatCommandPlugIn_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Teleport chat command. + /// + public static string TeleportChatCommandPlugIn_Name { + get { + return ResourceManager.GetString("TeleportChatCommandPlugIn_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Plugin which handles the town portal scroll consumption.. + /// + public static string TownPortalScrollConsumeHandlerPlugIn_Description { + get { + return ResourceManager.GetString("TownPortalScrollConsumeHandlerPlugIn_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Town Portal Scroll Consume Handler. + /// + public static string TownPortalScrollConsumeHandlerPlugIn_Name { + get { + return ResourceManager.GetString("TownPortalScrollConsumeHandlerPlugIn_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Handles the chat command '/trace <char>'. Moves the game master to the character's location.. + /// + public static string TraceChatCommandPlugIn_Description { + get { + return ResourceManager.GetString("TraceChatCommandPlugIn_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Trace chat command. + /// + public static string TraceChatCommandPlugIn_Name { + get { + return ResourceManager.GetString("TraceChatCommandPlugIn_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Handles the chat command '/track <char>'. Moves the player to the game masters location.. + /// + public static string TrackChatCommandPlugIn_Description { + get { + return ResourceManager.GetString("TrackChatCommandPlugIn_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Track chat command. + /// + public static string TrackChatCommandPlugIn_Name { + get { + return ResourceManager.GetString("TrackChatCommandPlugIn_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Describes how the game client counts the animations of Twister: every animation is counted, and the hits don't contain the animation counter.. + /// + public static string TwisterAnimationCounterStrategy_Description { + get { + return ResourceManager.GetString("TwisterAnimationCounterStrategy_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Twister animation counter. + /// + public static string TwisterAnimationCounterStrategy_Name { + get { + return ResourceManager.GetString("TwisterAnimationCounterStrategy_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Handles the twisting slash mastery skill of the dark knight class. Based on a chance, it may push the targets 2 squares away from the attacker.. + /// + public static string TwistingSlashMasterySkillPlugIn_Description { + get { + return ResourceManager.GetString("TwistingSlashMasterySkillPlugIn_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to TwistingSlashMasterySkillPlugIn. + /// + public static string TwistingSlashMasterySkillPlugIn_Name { + get { + return ResourceManager.GetString("TwistingSlashMasterySkillPlugIn_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Handles the chat command '/unbanacc <acc>'. Unbans an account from the game.. + /// + public static string UnBanAccChatCommandPlugIn_Description { + get { + return ResourceManager.GetString("UnBanAccChatCommandPlugIn_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Unban Account command. + /// + public static string UnBanAccChatCommandPlugIn_Name { + get { + return ResourceManager.GetString("UnBanAccChatCommandPlugIn_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Handles the chat command '/unbanchar <char>'. Unbans the account of a character from the game.. + /// + public static string UnBanCharChatCommandPlugIn_Description { + get { + return ResourceManager.GetString("UnBanCharChatCommandPlugIn_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Unban Character command. + /// + public static string UnBanCharChatCommandPlugIn_Name { + get { + return ResourceManager.GetString("UnBanCharChatCommandPlugIn_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Handles the chat command '/unhide'. Unhides the own player from others.. + /// + public static string UnHideChatCommandPlugIn_Description { + get { + return ResourceManager.GetString("UnHideChatCommandPlugIn_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Hide command. + /// + public static string UnHideChatCommandPlugIn_Name { + get { + return ResourceManager.GetString("UnHideChatCommandPlugIn_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Unlocks the Dark Lord character class as soon as the first character of an account reaches level 250.. + /// + public static string UnlockDarkLordAtLevel250_Description { + get { + return ResourceManager.GetString("UnlockDarkLordAtLevel250_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to UnlockDarkLordAtLevel250. + /// + public static string UnlockDarkLordAtLevel250_Name { + get { + return ResourceManager.GetString("UnlockDarkLordAtLevel250_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Unlocks the Magic Gladiator character class as soon as the first character of an account reaches level 220.. + /// + public static string UnlockMagicGladiatorAtLevel220_Description { + get { + return ResourceManager.GetString("UnlockMagicGladiatorAtLevel220_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to UnlockMagicGladiatorAtLevel220. + /// + public static string UnlockMagicGladiatorAtLevel220_Name { + get { + return ResourceManager.GetString("UnlockMagicGladiatorAtLevel220_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Unlocks the Rage Fighter character class as soon as the first character of an account reaches level 150.. + /// + public static string UnlockRageFighterAtLevel150_Description { + get { + return ResourceManager.GetString("UnlockRageFighterAtLevel150_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to UnlockRageFighterAtLevel150. + /// + public static string UnlockRageFighterAtLevel150_Name { + get { + return ResourceManager.GetString("UnlockRageFighterAtLevel150_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Unlocks the Summoner character class as soon as the first character of an account reaches level 1.. + /// + public static string UnlockSummonerAtLevel1_Description { + get { + return ResourceManager.GetString("UnlockSummonerAtLevel1_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to UnlockSummonerAtLevel1. + /// + public static string UnlockSummonerAtLevel1_Name { + get { + return ResourceManager.GetString("UnlockSummonerAtLevel1_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to This plugin increases the score of the duel, when a kill occurred.. + /// + public static string UpdateDuelScorePlugIn_Description { + get { + return ResourceManager.GetString("UpdateDuelScorePlugIn_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Update Duel Score. + /// + public static string UpdateDuelScorePlugIn_Name { + get { + return ResourceManager.GetString("UpdateDuelScorePlugIn_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Updates the attribute if a player is located in the safezone. For example, this activates the automatic health and shield recover.. + /// + public static string UpdateIsInSafezoneAfterPlayerMoved_Description { + get { + return ResourceManager.GetString("UpdateIsInSafezoneAfterPlayerMoved_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to UpdateIsInSafezoneAfterPlayerMoved. + /// + public static string UpdateIsInSafezoneAfterPlayerMoved_Name { + get { + return ResourceManager.GetString("UpdateIsInSafezoneAfterPlayerMoved_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Updates the pet command manager on the player object after a pet has been equipped or unequipped.. + /// + public static string UpdatePetCommandManagerOnItemMovePlugIn_Description { + get { + return ResourceManager.GetString("UpdatePetCommandManagerOnItemMovePlugIn_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Update Pet Command Manager On Item Move. + /// + public static string UpdatePetCommandManagerOnItemMovePlugIn_Name { + get { + return ResourceManager.GetString("UpdatePetCommandManagerOnItemMovePlugIn_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Defines the items which are allowed to be upgraded. If empty, all items are allowed except those in 'disallowed items'.. + /// + public static string UpgradeItemLevelConfiguration_AllowedItems_Description { + get { + return ResourceManager.GetString("UpgradeItemLevelConfiguration_AllowedItems_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Allowed items. + /// + public static string UpgradeItemLevelConfiguration_AllowedItems_Name { + get { + return ResourceManager.GetString("UpgradeItemLevelConfiguration_AllowedItems_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Defines the items which are not allowed to be upgraded.. + /// + public static string UpgradeItemLevelConfiguration_DisallowedItems_Description { + get { + return ResourceManager.GetString("UpgradeItemLevelConfiguration_DisallowedItems_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Disallowed items. + /// + public static string UpgradeItemLevelConfiguration_DisallowedItems_Name { + get { + return ResourceManager.GetString("UpgradeItemLevelConfiguration_DisallowedItems_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to How many times to add a level to the item (will become maximum allowed level).. + /// + public static string UpgradeItemLevelConfiguration_LevelAmount_Description { + get { + return ResourceManager.GetString("UpgradeItemLevelConfiguration_LevelAmount_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Add Levels Amount. + /// + public static string UpgradeItemLevelConfiguration_LevelAmount_Name { + get { + return ResourceManager.GetString("UpgradeItemLevelConfiguration_LevelAmount_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The maximum item level which the item has to have before applying the jewel.. + /// + public static string UpgradeItemLevelConfiguration_MaximumLevel_Description { + get { + return ResourceManager.GetString("UpgradeItemLevelConfiguration_MaximumLevel_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Item Maximum Level. + /// + public static string UpgradeItemLevelConfiguration_MaximumLevel_Name { + get { + return ResourceManager.GetString("UpgradeItemLevelConfiguration_MaximumLevel_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The minimum item level which the item has to have before applying the jewel.. + /// + public static string UpgradeItemLevelConfiguration_MinimumLevel_Description { + get { + return ResourceManager.GetString("UpgradeItemLevelConfiguration_MinimumLevel_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Item Minimum Level. + /// + public static string UpgradeItemLevelConfiguration_MinimumLevel_Name { + get { + return ResourceManager.GetString("UpgradeItemLevelConfiguration_MinimumLevel_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The item level after which the item will drop to level 0 when it fails.. + /// + public static string UpgradeItemLevelConfiguration_ResetToLevel0WhenFailMinLevel_Description { + get { + return ResourceManager.GetString("UpgradeItemLevelConfiguration_ResetToLevel0WhenFailMinLevel_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Fail To 0 min. Level. + /// + public static string UpgradeItemLevelConfiguration_ResetToLevel0WhenFailMinLevel_Name { + get { + return ResourceManager.GetString("UpgradeItemLevelConfiguration_ResetToLevel0WhenFailMinLevel_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The additional success rate, when the item has luck option.. + /// + public static string UpgradeItemLevelConfiguration_SuccessRateBonusWithLuckPercentage_Description { + get { + return ResourceManager.GetString("UpgradeItemLevelConfiguration_SuccessRateBonusWithLuckPercentage_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Success Rate Luck Bonus %. + /// + public static string UpgradeItemLevelConfiguration_SuccessRateBonusWithLuckPercentage_Name { + get { + return ResourceManager.GetString("UpgradeItemLevelConfiguration_SuccessRateBonusWithLuckPercentage_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to The success rate percentage for the item level upgrade.. + /// + public static string UpgradeItemLevelConfiguration_SuccessRatePercentage_Description { + get { + return ResourceManager.GetString("UpgradeItemLevelConfiguration_SuccessRatePercentage_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Success Rate %. + /// + public static string UpgradeItemLevelConfiguration_SuccessRatePercentage_Name { + get { + return ResourceManager.GetString("UpgradeItemLevelConfiguration_SuccessRatePercentage_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Extends the vault of the account when a player uses the Vault Expansion Certificate from the cash shop storage.. + /// + public static string VaultExtensionDeliveryPlugIn_Description { + get { + return ResourceManager.GetString("VaultExtensionDeliveryPlugIn_Description", resourceCulture); } } - /// Gets the localized BotConfiguration_Enabled_Name text. - public static string BotConfiguration_Enabled_Name => ResourceManager.GetString("BotConfiguration_Enabled_Name", resourceCulture)!; - - /// Gets the localized BotConfiguration_Enabled_Description text. - public static string BotConfiguration_Enabled_Description => ResourceManager.GetString("BotConfiguration_Enabled_Description", resourceCulture)!; - - /// Gets the localized BotConfiguration_ResetBots_Name text. - public static string BotConfiguration_ResetBots_Name => ResourceManager.GetString("BotConfiguration_ResetBots_Name", resourceCulture)!; - - /// Gets the localized BotConfiguration_ResetBots_Description text. - public static string BotConfiguration_ResetBots_Description => ResourceManager.GetString("BotConfiguration_ResetBots_Description", resourceCulture)!; - - /// Gets the localized BotConfiguration_PurgeBots_Name text. - public static string BotConfiguration_PurgeBots_Name => ResourceManager.GetString("BotConfiguration_PurgeBots_Name", resourceCulture)!; - - /// Gets the localized BotConfiguration_PurgeBots_Description text. - public static string BotConfiguration_PurgeBots_Description => ResourceManager.GetString("BotConfiguration_PurgeBots_Description", resourceCulture)!; - - /// Gets the localized BotConfiguration_StartAsFreshCharacters_Name text. - public static string BotConfiguration_StartAsFreshCharacters_Name => ResourceManager.GetString("BotConfiguration_StartAsFreshCharacters_Name", resourceCulture)!; - - /// Gets the localized BotConfiguration_StartAsFreshCharacters_Description text. - public static string BotConfiguration_StartAsFreshCharacters_Description => ResourceManager.GetString("BotConfiguration_StartAsFreshCharacters_Description", resourceCulture)!; - - /// Gets the localized BotConfiguration_PresenceRotation_Name text. - public static string BotConfiguration_PresenceRotation_Name => ResourceManager.GetString("BotConfiguration_PresenceRotation_Name", resourceCulture)!; - - /// Gets the localized BotConfiguration_PresenceRotation_Description text. - public static string BotConfiguration_PresenceRotation_Description => ResourceManager.GetString("BotConfiguration_PresenceRotation_Description", resourceCulture)!; - - /// Gets the localized BotConfiguration_MinOnlineSharePercent_Name text. - public static string BotConfiguration_MinOnlineSharePercent_Name => ResourceManager.GetString("BotConfiguration_MinOnlineSharePercent_Name", resourceCulture)!; - - /// Gets the localized BotConfiguration_MinOnlineSharePercent_Description text. - public static string BotConfiguration_MinOnlineSharePercent_Description => ResourceManager.GetString("BotConfiguration_MinOnlineSharePercent_Description", resourceCulture)!; - - /// Gets the localized BotConfiguration_NumberOfAccounts_Name text. - public static string BotConfiguration_NumberOfAccounts_Name => ResourceManager.GetString("BotConfiguration_NumberOfAccounts_Name", resourceCulture)!; - - /// Gets the localized BotConfiguration_NumberOfAccounts_Description text. - public static string BotConfiguration_NumberOfAccounts_Description => ResourceManager.GetString("BotConfiguration_NumberOfAccounts_Description", resourceCulture)!; - - /// Gets the localized BotConfiguration_MaxCharactersPerAccount_Name text. - public static string BotConfiguration_MaxCharactersPerAccount_Name => ResourceManager.GetString("BotConfiguration_MaxCharactersPerAccount_Name", resourceCulture)!; - - /// Gets the localized BotConfiguration_MaxCharactersPerAccount_Description text. - public static string BotConfiguration_MaxCharactersPerAccount_Description => ResourceManager.GetString("BotConfiguration_MaxCharactersPerAccount_Description", resourceCulture)!; - - /// Gets the localized BotConfiguration_BotCapacityPercent_Name text. - public static string BotConfiguration_BotCapacityPercent_Name => ResourceManager.GetString("BotConfiguration_BotCapacityPercent_Name", resourceCulture)!; - - /// Gets the localized BotConfiguration_BotCapacityPercent_Description text. - public static string BotConfiguration_BotCapacityPercent_Description => ResourceManager.GetString("BotConfiguration_BotCapacityPercent_Description", resourceCulture)!; - - /// Gets the localized BotConfiguration_BotsPayResetCosts_Name text. - public static string BotConfiguration_BotsPayResetCosts_Name => ResourceManager.GetString("BotConfiguration_BotsPayResetCosts_Name", resourceCulture)!; - - /// Gets the localized BotConfiguration_BotsPayResetCosts_Description text. - public static string BotConfiguration_BotsPayResetCosts_Description => ResourceManager.GetString("BotConfiguration_BotsPayResetCosts_Description", resourceCulture)!; - - /// Gets the localized BotConfiguration_JewelStockPerKind_Name text. - public static string BotConfiguration_JewelStockPerKind_Name => ResourceManager.GetString("BotConfiguration_JewelStockPerKind_Name", resourceCulture)!; - - /// Gets the localized BotConfiguration_JewelStockPerKind_Description text. - public static string BotConfiguration_JewelStockPerKind_Description => ResourceManager.GetString("BotConfiguration_JewelStockPerKind_Description", resourceCulture)!; - - /// Gets the localized BotConfiguration_PotionStockCharges_Name text. - public static string BotConfiguration_PotionStockCharges_Name => ResourceManager.GetString("BotConfiguration_PotionStockCharges_Name", resourceCulture)!; - - /// Gets the localized BotConfiguration_PotionStockCharges_Description text. - public static string BotConfiguration_PotionStockCharges_Description => ResourceManager.GetString("BotConfiguration_PotionStockCharges_Description", resourceCulture)!; - - /// Gets the localized BotConfiguration_ProofOfConceptAccounts_Name text. - public static string BotConfiguration_ProofOfConceptAccounts_Name => ResourceManager.GetString("BotConfiguration_ProofOfConceptAccounts_Name", resourceCulture)!; - - /// Gets the localized BotConfiguration_ProofOfConceptAccounts_Description text. - public static string BotConfiguration_ProofOfConceptAccounts_Description => ResourceManager.GetString("BotConfiguration_ProofOfConceptAccounts_Description", resourceCulture)!; - - /// Gets the localized BotSelfDefensePlugIn_Name text. - public static string BotSelfDefensePlugIn_Name => ResourceManager.GetString("BotSelfDefensePlugIn_Name", resourceCulture)!; - - /// Gets the localized BotSelfDefensePlugIn_Description text. - public static string BotSelfDefensePlugIn_Description => ResourceManager.GetString("BotSelfDefensePlugIn_Description", resourceCulture)!; - - /// Gets the localized BotRevengePlugIn_Name text. - public static string BotRevengePlugIn_Name => ResourceManager.GetString("BotRevengePlugIn_Name", resourceCulture)!; - - /// Gets the localized BotRevengePlugIn_Description text. - public static string BotRevengePlugIn_Description => ResourceManager.GetString("BotRevengePlugIn_Description", resourceCulture)!; - - /// Gets the localized BotChatPlugIn_Name text. - public static string BotChatPlugIn_Name => ResourceManager.GetString("BotChatPlugIn_Name", resourceCulture)!; - - /// Gets the localized BotChatPlugIn_Description text. - public static string BotChatPlugIn_Description => ResourceManager.GetString("BotChatPlugIn_Description", resourceCulture)!; - - /// Gets the localized BotChatLine_Text_Name text. - public static string BotChatLine_Text_Name => ResourceManager.GetString("BotChatLine_Text_Name", resourceCulture)!; - - /// Gets the localized BotChatLine_Text_Description text. - public static string BotChatLine_Text_Description => ResourceManager.GetString("BotChatLine_Text_Description", resourceCulture)!; - - /// Gets the localized BotChatConfiguration_EventPostChancePercent_Name text. - public static string BotChatConfiguration_EventPostChancePercent_Name => ResourceManager.GetString("BotChatConfiguration_EventPostChancePercent_Name", resourceCulture)!; - - /// Gets the localized BotChatConfiguration_EventPostChancePercent_Description text. - public static string BotChatConfiguration_EventPostChancePercent_Description => ResourceManager.GetString("BotChatConfiguration_EventPostChancePercent_Description", resourceCulture)!; - - /// Gets the localized BotChatConfiguration_InvasionPostChancePercent_Name text. - public static string BotChatConfiguration_InvasionPostChancePercent_Name => ResourceManager.GetString("BotChatConfiguration_InvasionPostChancePercent_Name", resourceCulture)!; - - /// Gets the localized BotChatConfiguration_InvasionPostChancePercent_Description text. - public static string BotChatConfiguration_InvasionPostChancePercent_Description => ResourceManager.GetString("BotChatConfiguration_InvasionPostChancePercent_Description", resourceCulture)!; - - /// Gets the localized BotChatConfiguration_MinTimeBetweenPosts_Name text. - public static string BotChatConfiguration_MinTimeBetweenPosts_Name => ResourceManager.GetString("BotChatConfiguration_MinTimeBetweenPosts_Name", resourceCulture)!; - - /// Gets the localized BotChatConfiguration_MinTimeBetweenPosts_Description text. - public static string BotChatConfiguration_MinTimeBetweenPosts_Description => ResourceManager.GetString("BotChatConfiguration_MinTimeBetweenPosts_Description", resourceCulture)!; - - /// Gets the localized BotChatConfiguration_MaxPostDelay_Name text. - public static string BotChatConfiguration_MaxPostDelay_Name => ResourceManager.GetString("BotChatConfiguration_MaxPostDelay_Name", resourceCulture)!; - - /// Gets the localized BotChatConfiguration_MaxPostDelay_Description text. - public static string BotChatConfiguration_MaxPostDelay_Description => ResourceManager.GetString("BotChatConfiguration_MaxPostDelay_Description", resourceCulture)!; - - /// Gets the localized BotChatConfiguration_LevelMilestoneStep_Name text. - public static string BotChatConfiguration_LevelMilestoneStep_Name => ResourceManager.GetString("BotChatConfiguration_LevelMilestoneStep_Name", resourceCulture)!; - - /// Gets the localized BotChatConfiguration_LevelMilestoneStep_Description text. - public static string BotChatConfiguration_LevelMilestoneStep_Description => ResourceManager.GetString("BotChatConfiguration_LevelMilestoneStep_Description", resourceCulture)!; - - /// Gets the localized BotChatConfiguration_LevelMilestoneChancePercent_Name text. - public static string BotChatConfiguration_LevelMilestoneChancePercent_Name => ResourceManager.GetString("BotChatConfiguration_LevelMilestoneChancePercent_Name", resourceCulture)!; - - /// Gets the localized BotChatConfiguration_LevelMilestoneChancePercent_Description text. - public static string BotChatConfiguration_LevelMilestoneChancePercent_Description => ResourceManager.GetString("BotChatConfiguration_LevelMilestoneChancePercent_Description", resourceCulture)!; - - /// Gets the localized BotChatConfiguration_BotChatCooldown_Name text. - public static string BotChatConfiguration_BotChatCooldown_Name => ResourceManager.GetString("BotChatConfiguration_BotChatCooldown_Name", resourceCulture)!; - - /// Gets the localized BotChatConfiguration_BotChatCooldown_Description text. - public static string BotChatConfiguration_BotChatCooldown_Description => ResourceManager.GetString("BotChatConfiguration_BotChatCooldown_Description", resourceCulture)!; - - /// Gets the localized BotChatConfiguration_WhisperReplyChancePercent_Name text. - public static string BotChatConfiguration_WhisperReplyChancePercent_Name => ResourceManager.GetString("BotChatConfiguration_WhisperReplyChancePercent_Name", resourceCulture)!; - - /// Gets the localized BotChatConfiguration_WhisperReplyChancePercent_Description text. - public static string BotChatConfiguration_WhisperReplyChancePercent_Description => ResourceManager.GetString("BotChatConfiguration_WhisperReplyChancePercent_Description", resourceCulture)!; - - /// Gets the localized BotChatConfiguration_WhisperReplyCooldown_Name text. - public static string BotChatConfiguration_WhisperReplyCooldown_Name => ResourceManager.GetString("BotChatConfiguration_WhisperReplyCooldown_Name", resourceCulture)!; - - /// Gets the localized BotChatConfiguration_WhisperReplyCooldown_Description text. - public static string BotChatConfiguration_WhisperReplyCooldown_Description => ResourceManager.GetString("BotChatConfiguration_WhisperReplyCooldown_Description", resourceCulture)!; - - /// Gets the localized BotChatConfiguration_GreetingChancePercent_Name text. - public static string BotChatConfiguration_GreetingChancePercent_Name => ResourceManager.GetString("BotChatConfiguration_GreetingChancePercent_Name", resourceCulture)!; - - /// Gets the localized BotChatConfiguration_GreetingChancePercent_Description text. - public static string BotChatConfiguration_GreetingChancePercent_Description => ResourceManager.GetString("BotChatConfiguration_GreetingChancePercent_Description", resourceCulture)!; - - /// Gets the localized BotChatConfiguration_GreetingCooldown_Name text. - public static string BotChatConfiguration_GreetingCooldown_Name => ResourceManager.GetString("BotChatConfiguration_GreetingCooldown_Name", resourceCulture)!; - - /// Gets the localized BotChatConfiguration_GreetingCooldown_Description text. - public static string BotChatConfiguration_GreetingCooldown_Description => ResourceManager.GetString("BotChatConfiguration_GreetingCooldown_Description", resourceCulture)!; - - /// Gets the localized BotChatConfiguration_PartyChatChancePercent_Name text. - public static string BotChatConfiguration_PartyChatChancePercent_Name => ResourceManager.GetString("BotChatConfiguration_PartyChatChancePercent_Name", resourceCulture)!; - - /// Gets the localized BotChatConfiguration_PartyChatChancePercent_Description text. - public static string BotChatConfiguration_PartyChatChancePercent_Description => ResourceManager.GetString("BotChatConfiguration_PartyChatChancePercent_Description", resourceCulture)!; - - /// Gets the localized BotChatConfiguration_KilledByPlayerChancePercent_Name text. - public static string BotChatConfiguration_KilledByPlayerChancePercent_Name => ResourceManager.GetString("BotChatConfiguration_KilledByPlayerChancePercent_Name", resourceCulture)!; - - /// Gets the localized BotChatConfiguration_KilledByPlayerChancePercent_Description text. - public static string BotChatConfiguration_KilledByPlayerChancePercent_Description => ResourceManager.GetString("BotChatConfiguration_KilledByPlayerChancePercent_Description", resourceCulture)!; - - /// Gets the localized BotSkillProgressionPlugIn_Name text. - public static string BotSkillProgressionPlugIn_Name => ResourceManager.GetString("BotSkillProgressionPlugIn_Name", resourceCulture)!; - - /// Gets the localized BotSkillProgressionPlugIn_Description text. - public static string BotSkillProgressionPlugIn_Description => ResourceManager.GetString("BotSkillProgressionPlugIn_Description", resourceCulture)!; - - /// Gets the localized BotFeaturePlugIn_Name text. - public static string BotFeaturePlugIn_Name => ResourceManager.GetString("BotFeaturePlugIn_Name", resourceCulture)!; - - /// Gets the localized BotFeaturePlugIn_Description text. - public static string BotFeaturePlugIn_Description => ResourceManager.GetString("BotFeaturePlugIn_Description", resourceCulture)!; - - /// Gets the localized MaximumConnectionsPerIpPlugIn_Name text. - public static string MaximumConnectionsPerIpPlugIn_Name => ResourceManager.GetString("MaximumConnectionsPerIpPlugIn_Name", resourceCulture)!; - - /// Gets the localized MaximumConnectionsPerIpPlugIn_Description text. - public static string MaximumConnectionsPerIpPlugIn_Description => ResourceManager.GetString("MaximumConnectionsPerIpPlugIn_Description", resourceCulture)!; - - /// Gets the localized LoginTimeoutPlugIn_Name text. - public static string LoginTimeoutPlugIn_Name => ResourceManager.GetString("LoginTimeoutPlugIn_Name", resourceCulture)!; - - /// Gets the localized LoginTimeoutPlugIn_Description text. - public static string LoginTimeoutPlugIn_Description => ResourceManager.GetString("LoginTimeoutPlugIn_Description", resourceCulture)!; - - /// Gets the localized SpeedHackDetectPlugIn_Name text. - public static string SpeedHackDetectPlugIn_Name => ResourceManager.GetString("SpeedHackDetectPlugIn_Name", resourceCulture)!; - - /// Gets the localized SpeedHackDetectPlugIn_Description text. - public static string SpeedHackDetectPlugIn_Description => ResourceManager.GetString("SpeedHackDetectPlugIn_Description", resourceCulture)!; - - /// Gets the localized KanturuGatewayPlugIn_Name text. - public static string KanturuGatewayPlugIn_Name => ResourceManager.GetString("KanturuGatewayPlugIn_Name", resourceCulture)!; - - /// Gets the localized KanturuGatewayPlugIn_Description text. - public static string KanturuGatewayPlugIn_Description => ResourceManager.GetString("KanturuGatewayPlugIn_Description", resourceCulture)!; - - /// Gets the localized SymbolOfKundunStackedPlugIn_Name text. - public static string SymbolOfKundunStackedPlugIn_Name => ResourceManager.GetString("SymbolOfKundunStackedPlugIn_Name", resourceCulture)!; - - /// Gets the localized SymbolOfKundunStackedPlugIn_Description text. - public static string SymbolOfKundunStackedPlugIn_Description => ResourceManager.GetString("SymbolOfKundunStackedPlugIn_Description", resourceCulture)!; - - /// Gets the localized DuelSpawnGatePlugIn_Name text. - public static string DuelSpawnGatePlugIn_Name => ResourceManager.GetString("DuelSpawnGatePlugIn_Name", resourceCulture)!; - - /// Gets the localized DuelSpawnGatePlugIn_Description text. - public static string DuelSpawnGatePlugIn_Description => ResourceManager.GetString("DuelSpawnGatePlugIn_Description", resourceCulture)!; - - /// Gets the localized SoccerSpawnGatePlugIn_Name text. - public static string SoccerSpawnGatePlugIn_Name => ResourceManager.GetString("SoccerSpawnGatePlugIn_Name", resourceCulture)!; - - /// Gets the localized SoccerSpawnGatePlugIn_Description text. - public static string SoccerSpawnGatePlugIn_Description => ResourceManager.GetString("SoccerSpawnGatePlugIn_Description", resourceCulture)!; - - /// Gets the localized PetExperiencePlugIn_Name text. - public static string PetExperiencePlugIn_Name => ResourceManager.GetString("PetExperiencePlugIn_Name", resourceCulture)!; - - /// Gets the localized PetExperiencePlugIn_Description text. - public static string PetExperiencePlugIn_Description => ResourceManager.GetString("PetExperiencePlugIn_Description", resourceCulture)!; - - /// Gets the localized PeriodicInvasionConfiguration_ForceSingleMap_Name text. - public static string PeriodicInvasionConfiguration_ForceSingleMap_Name => ResourceManager.GetString("PeriodicInvasionConfiguration_ForceSingleMap_Name", resourceCulture)!; - - /// Gets the localized PeriodicInvasionConfiguration_Mobs_Name text. - public static string PeriodicInvasionConfiguration_Mobs_Name => ResourceManager.GetString("PeriodicInvasionConfiguration_Mobs_Name", resourceCulture)!; - - /// Gets the localized WhiteWizardInvasionPlugIn_Name text. - public static string WhiteWizardInvasionPlugIn_Name => ResourceManager.GetString("WhiteWizardInvasionPlugIn_Name", resourceCulture)!; - - /// Gets the localized WhiteWizardInvasionPlugIn_Description text. - public static string WhiteWizardInvasionPlugIn_Description => ResourceManager.GetString("WhiteWizardInvasionPlugIn_Description", resourceCulture)!; - - /// Gets the localized ItemRegistrationConfiguration_Rules_Name text. - public static string ItemRegistrationConfiguration_Rules_Name => ResourceManager.GetString("ItemRegistrationConfiguration_Rules_Name", resourceCulture)!; - - /// Gets the localized ItemRegistrationConfiguration_Rules_Description text. - public static string ItemRegistrationConfiguration_Rules_Description => ResourceManager.GetString("ItemRegistrationConfiguration_Rules_Description", resourceCulture)!; - - /// Gets the localized NpcItemRegistrationRule_NpcNumber_Name text. - public static string NpcItemRegistrationRule_NpcNumber_Name => ResourceManager.GetString("NpcItemRegistrationRule_NpcNumber_Name", resourceCulture)!; - - /// Gets the localized NpcItemRegistrationRule_NpcNumber_Description text. - public static string NpcItemRegistrationRule_NpcNumber_Description => ResourceManager.GetString("NpcItemRegistrationRule_NpcNumber_Description", resourceCulture)!; - - /// Gets the localized NpcItemRegistrationRule_AcceptedItemGroup_Name text. - public static string NpcItemRegistrationRule_AcceptedItemGroup_Name => ResourceManager.GetString("NpcItemRegistrationRule_AcceptedItemGroup_Name", resourceCulture)!; - - /// Gets the localized NpcItemRegistrationRule_AcceptedItemGroup_Description text. - public static string NpcItemRegistrationRule_AcceptedItemGroup_Description => ResourceManager.GetString("NpcItemRegistrationRule_AcceptedItemGroup_Description", resourceCulture)!; - - /// Gets the localized NpcItemRegistrationRule_AcceptedItemNumber_Name text. - public static string NpcItemRegistrationRule_AcceptedItemNumber_Name => ResourceManager.GetString("NpcItemRegistrationRule_AcceptedItemNumber_Name", resourceCulture)!; - - /// Gets the localized NpcItemRegistrationRule_AcceptedItemNumber_Description text. - public static string NpcItemRegistrationRule_AcceptedItemNumber_Description => ResourceManager.GetString("NpcItemRegistrationRule_AcceptedItemNumber_Description", resourceCulture)!; - - /// Gets the localized NpcItemRegistrationRule_RequiredItemsCount_Name text. - public static string NpcItemRegistrationRule_RequiredItemsCount_Name => ResourceManager.GetString("NpcItemRegistrationRule_RequiredItemsCount_Name", resourceCulture)!; - - /// Gets the localized NpcItemRegistrationRule_RequiredItemsCount_Description text. - public static string NpcItemRegistrationRule_RequiredItemsCount_Description => ResourceManager.GetString("NpcItemRegistrationRule_RequiredItemsCount_Description", resourceCulture)!; - - /// Gets the localized NpcItemRegistrationRule_RewardZen_Name text. - public static string NpcItemRegistrationRule_RewardZen_Name => ResourceManager.GetString("NpcItemRegistrationRule_RewardZen_Name", resourceCulture)!; - - /// Gets the localized NpcItemRegistrationRule_RewardZen_Description text. - public static string NpcItemRegistrationRule_RewardZen_Description => ResourceManager.GetString("NpcItemRegistrationRule_RewardZen_Description", resourceCulture)!; - - /// Gets the localized NpcItemRegistrationRule_RewardDropItemGroup_Name text. - public static string NpcItemRegistrationRule_RewardDropItemGroup_Name => ResourceManager.GetString("NpcItemRegistrationRule_RewardDropItemGroup_Name", resourceCulture)!; - - /// Gets the localized NpcItemRegistrationRule_RewardDropItemGroup_Description text. - public static string NpcItemRegistrationRule_RewardDropItemGroup_Description => ResourceManager.GetString("NpcItemRegistrationRule_RewardDropItemGroup_Description", resourceCulture)!; - - /// Gets the localized ChaosCastleStartPlugIn_Name text. - public static string ChaosCastleStartPlugIn_Name => ResourceManager.GetString("ChaosCastleStartPlugIn_Name", resourceCulture)!; - - /// Gets the localized ChaosCastleStartPlugIn_Description text. - public static string ChaosCastleStartPlugIn_Description => ResourceManager.GetString("ChaosCastleStartPlugIn_Description", resourceCulture)!; - - /// Gets the localized KanturuStartPlugIn_Name text. - public static string KanturuStartPlugIn_Name => ResourceManager.GetString("KanturuStartPlugIn_Name", resourceCulture)!; - - /// Gets the localized KanturuStartPlugIn_Description text. - public static string KanturuStartPlugIn_Description => ResourceManager.GetString("KanturuStartPlugIn_Description", resourceCulture)!; - - /// Gets the localized BloodCastleStartPlugIn_Name text. - public static string BloodCastleStartPlugIn_Name => ResourceManager.GetString("BloodCastleStartPlugIn_Name", resourceCulture)!; - - /// Gets the localized BloodCastleStartPlugIn_Description text. - public static string BloodCastleStartPlugIn_Description => ResourceManager.GetString("BloodCastleStartPlugIn_Description", resourceCulture)!; - - /// Gets the localized DevilSquareStartPlugIn_Name text. - public static string DevilSquareStartPlugIn_Name => ResourceManager.GetString("DevilSquareStartPlugIn_Name", resourceCulture)!; - - /// Gets the localized DevilSquareStartPlugIn_Description text. - public static string DevilSquareStartPlugIn_Description => ResourceManager.GetString("DevilSquareStartPlugIn_Description", resourceCulture)!; - - /// Gets the localized PKClearConfiguration_ZenCostPerKill_Name text. - public static string PKClearConfiguration_ZenCostPerKill_Name => ResourceManager.GetString("PKClearConfiguration_ZenCostPerKill_Name", resourceCulture)!; - - /// Gets the localized PKClearConfiguration_ZenCostPerKill_Description text. - public static string PKClearConfiguration_ZenCostPerKill_Description => ResourceManager.GetString("PKClearConfiguration_ZenCostPerKill_Description", resourceCulture)!; - - /// Gets the localized PKClearConfiguration_AllowRegularPlayers_Name text. - public static string PKClearConfiguration_AllowRegularPlayers_Name => ResourceManager.GetString("PKClearConfiguration_AllowRegularPlayers_Name", resourceCulture)!; - - /// Gets the localized PKClearConfiguration_AllowRegularPlayers_Description text. - public static string PKClearConfiguration_AllowRegularPlayers_Description => ResourceManager.GetString("PKClearConfiguration_AllowRegularPlayers_Description", resourceCulture)!; - - /// Gets the localized LostMapDroppedPlugIn_Name text. - public static string LostMapDroppedPlugIn_Name => ResourceManager.GetString("LostMapDroppedPlugIn_Name", resourceCulture)!; - - /// Gets the localized LostMapDroppedPlugIn_Description text. - public static string LostMapDroppedPlugIn_Description => ResourceManager.GetString("LostMapDroppedPlugIn_Description", resourceCulture)!; - - /// Gets the localized ItemBoxDroppedPlugIn_Name text. - public static string ItemBoxDroppedPlugIn_Name => ResourceManager.GetString("ItemBoxDroppedPlugIn_Name", resourceCulture)!; - - /// Gets the localized ItemBoxDroppedPlugIn_Description text. - public static string ItemBoxDroppedPlugIn_Description => ResourceManager.GetString("ItemBoxDroppedPlugIn_Description", resourceCulture)!; - - /// Gets the localized ResetConfiguration_RequiredResetItem_Name text. - public static string ResetConfiguration_RequiredResetItem_Name => ResourceManager.GetString("ResetConfiguration_RequiredResetItem_Name", resourceCulture)!; - - /// Gets the localized ResetConfiguration_ItemCostTiers_Name text. - public static string ResetConfiguration_ItemCostTiers_Name => ResourceManager.GetString("ResetConfiguration_ItemCostTiers_Name", resourceCulture)!; - - /// Gets the localized ResetConfiguration_PointsTiers_Name text. - public static string ResetConfiguration_PointsTiers_Name => ResourceManager.GetString("ResetConfiguration_PointsTiers_Name", resourceCulture)!; - - /// Gets the localized ResetPointTier_MinimumResetCount_Name text. - public static string ResetPointTier_MinimumResetCount_Name => ResourceManager.GetString("ResetPointTier_MinimumResetCount_Name", resourceCulture)!; - - /// Gets the localized ResetPointTier_PointsGranted_Name text. - public static string ResetPointTier_PointsGranted_Name => ResourceManager.GetString("ResetPointTier_PointsGranted_Name", resourceCulture)!; - - /// Gets the localized ResetItemCostTier_MinimumResetCount_Name text. - public static string ResetItemCostTier_MinimumResetCount_Name => ResourceManager.GetString("ResetItemCostTier_MinimumResetCount_Name", resourceCulture)!; - - /// Gets the localized ResetItemCostTier_RequiredItemAmount_Name text. - public static string ResetItemCostTier_RequiredItemAmount_Name => ResourceManager.GetString("ResetItemCostTier_RequiredItemAmount_Name", resourceCulture)!; - - /// Gets the localized ActorHitRecorderPlugIn_Name text. - public static string ActorHitRecorderPlugIn_Name => ResourceManager.GetString("ActorHitRecorderPlugIn_Name", resourceCulture)!; - - /// Gets the localized ActorHitRecorderPlugIn_Description text. - public static string ActorHitRecorderPlugIn_Description => ResourceManager.GetString("ActorHitRecorderPlugIn_Description", resourceCulture)!; - - /// Gets the localized MonsterAttributeScalerConfiguration_HealthPercentage_Caption text. - public static string MonsterAttributeScalerConfiguration_HealthPercentage_Caption => ResourceManager.GetString("MonsterAttributeScalerConfiguration_HealthPercentage_Caption", resourceCulture)!; - - /// Gets the localized MonsterAttributeScalerConfiguration_DefensePercentage_Caption text. - public static string MonsterAttributeScalerConfiguration_DefensePercentage_Caption => ResourceManager.GetString("MonsterAttributeScalerConfiguration_DefensePercentage_Caption", resourceCulture)!; - - /// Gets the localized MonsterAttributeScalerConfiguration_DefenseRatePercentage_Caption text. - public static string MonsterAttributeScalerConfiguration_DefenseRatePercentage_Caption => ResourceManager.GetString("MonsterAttributeScalerConfiguration_DefenseRatePercentage_Caption", resourceCulture)!; - - /// Gets the localized MonsterAttributeScalerConfiguration_AttackRatePercentage_Caption text. - public static string MonsterAttributeScalerConfiguration_AttackRatePercentage_Caption => ResourceManager.GetString("MonsterAttributeScalerConfiguration_AttackRatePercentage_Caption", resourceCulture)!; - - /// Gets the localized MonsterAttributeScalerConfiguration_DamagePercentage_Caption text. - public static string MonsterAttributeScalerConfiguration_DamagePercentage_Caption => ResourceManager.GetString("MonsterAttributeScalerConfiguration_DamagePercentage_Caption", resourceCulture)!; - - /// Gets the localized MonsterAttributeScalerConfiguration_ScaleAllPercentage_Caption text. - public static string MonsterAttributeScalerConfiguration_ScaleAllPercentage_Caption => ResourceManager.GetString("MonsterAttributeScalerConfiguration_ScaleAllPercentage_Caption", resourceCulture)!; - - /// Gets the localized MaximumConnectionsPerIpPlugInConfiguration_MaximumConnectionsPerIp_Caption text. - public static string MaximumConnectionsPerIpPlugInConfiguration_MaximumConnectionsPerIp_Caption => ResourceManager.GetString("MaximumConnectionsPerIpPlugInConfiguration_MaximumConnectionsPerIp_Caption", resourceCulture)!; - - /// Gets the localized LoginTimeoutPlugInConfiguration_Timeout_Caption text. - public static string LoginTimeoutPlugInConfiguration_Timeout_Caption => ResourceManager.GetString("LoginTimeoutPlugInConfiguration_Timeout_Caption", resourceCulture)!; - - /// Gets the localized SpeedHackDetectConfiguration_AttackSpeedMinIntervalMs_Caption text. - public static string SpeedHackDetectConfiguration_AttackSpeedMinIntervalMs_Caption => ResourceManager.GetString("SpeedHackDetectConfiguration_AttackSpeedMinIntervalMs_Caption", resourceCulture)!; - - /// Gets the localized SpeedHackDetectConfiguration_AttackSpeedScalingFactor_Caption text. - public static string SpeedHackDetectConfiguration_AttackSpeedScalingFactor_Caption => ResourceManager.GetString("SpeedHackDetectConfiguration_AttackSpeedScalingFactor_Caption", resourceCulture)!; - - /// Gets the localized SpeedHackDetectConfiguration_AttackSpeedBaseDelayMs_Caption text. - public static string SpeedHackDetectConfiguration_AttackSpeedBaseDelayMs_Caption => ResourceManager.GetString("SpeedHackDetectConfiguration_AttackSpeedBaseDelayMs_Caption", resourceCulture)!; - - /// Gets the localized SpeedHackDetectConfiguration_MaxAttackTokens_Caption text. - public static string SpeedHackDetectConfiguration_MaxAttackTokens_Caption => ResourceManager.GetString("SpeedHackDetectConfiguration_MaxAttackTokens_Caption", resourceCulture)!; - - /// Gets the localized SpeedHackDetectConfiguration_MaxAllowedWalkStartOffset_Caption text. - public static string SpeedHackDetectConfiguration_MaxAllowedWalkStartOffset_Caption => ResourceManager.GetString("SpeedHackDetectConfiguration_MaxAllowedWalkStartOffset_Caption", resourceCulture)!; - - /// Gets the localized SpeedHackDetectConfiguration_SkillHitAreaRangeSlack_Caption text. - public static string SpeedHackDetectConfiguration_SkillHitAreaRangeSlack_Caption => ResourceManager.GetString("SpeedHackDetectConfiguration_SkillHitAreaRangeSlack_Caption", resourceCulture)!; - - /// Gets the localized SpeedHackDetectConfiguration_SkillHitCounterReplayWindowMs_Caption text. - public static string SpeedHackDetectConfiguration_SkillHitCounterReplayWindowMs_Caption => ResourceManager.GetString("SpeedHackDetectConfiguration_SkillHitCounterReplayWindowMs_Caption", resourceCulture)!; - - /// Gets the localized SpeedHackDetectConfiguration_SkillHitMaxAreaToHitDelaySeconds_Caption text. - public static string SpeedHackDetectConfiguration_SkillHitMaxAreaToHitDelaySeconds_Caption => ResourceManager.GetString("SpeedHackDetectConfiguration_SkillHitMaxAreaToHitDelaySeconds_Caption", resourceCulture)!; - - /// Gets the localized SpeedHackDetectConfiguration_EnforceWalkSpeed_Caption text. - public static string SpeedHackDetectConfiguration_EnforceWalkSpeed_Caption => ResourceManager.GetString("SpeedHackDetectConfiguration_EnforceWalkSpeed_Caption", resourceCulture)!; - - /// Gets the localized SpeedHackDetectConfiguration_WalkSpeedWindowSeconds_Caption text. - public static string SpeedHackDetectConfiguration_WalkSpeedWindowSeconds_Caption => ResourceManager.GetString("SpeedHackDetectConfiguration_WalkSpeedWindowSeconds_Caption", resourceCulture)!; - - /// Gets the localized SpeedHackDetectConfiguration_WalkSpeedToleranceMs_Caption text. - public static string SpeedHackDetectConfiguration_WalkSpeedToleranceMs_Caption => ResourceManager.GetString("SpeedHackDetectConfiguration_WalkSpeedToleranceMs_Caption", resourceCulture)!; - - /// Gets the localized SpeedHackDetectConfiguration_WarningHistoryHours_Caption text. - public static string SpeedHackDetectConfiguration_WarningHistoryHours_Caption => ResourceManager.GetString("SpeedHackDetectConfiguration_WarningHistoryHours_Caption", resourceCulture)!; - - /// Gets the localized SpeedHackDetectConfiguration_AlertDebounceSeconds_Caption text. - public static string SpeedHackDetectConfiguration_AlertDebounceSeconds_Caption => ResourceManager.GetString("SpeedHackDetectConfiguration_AlertDebounceSeconds_Caption", resourceCulture)!; - - /// Gets the localized SpeedHackDetectConfiguration_MaxWarnings_Caption text. - public static string SpeedHackDetectConfiguration_MaxWarnings_Caption => ResourceManager.GetString("SpeedHackDetectConfiguration_MaxWarnings_Caption", resourceCulture)!; - - /// Gets the localized SpeedHackDetectConfiguration_DisconnectOnViolation_Caption text. - public static string SpeedHackDetectConfiguration_DisconnectOnViolation_Caption => ResourceManager.GetString("SpeedHackDetectConfiguration_DisconnectOnViolation_Caption", resourceCulture)!; - - /// Gets the localized SpeedHackDetectConfiguration_ObserveOnly_Caption text. - public static string SpeedHackDetectConfiguration_ObserveOnly_Caption => ResourceManager.GetString("SpeedHackDetectConfiguration_ObserveOnly_Caption", resourceCulture)!; - - /// Gets the localized SpeedHackDetectConfiguration_ViolationScoreRejectThreshold_Caption text. - public static string SpeedHackDetectConfiguration_ViolationScoreRejectThreshold_Caption => ResourceManager.GetString("SpeedHackDetectConfiguration_ViolationScoreRejectThreshold_Caption", resourceCulture)!; - - /// Gets the localized SpeedHackDetectConfiguration_ViolationScoreHalfLifeMinutes_Caption text. - public static string SpeedHackDetectConfiguration_ViolationScoreHalfLifeMinutes_Caption => ResourceManager.GetString("SpeedHackDetectConfiguration_ViolationScoreHalfLifeMinutes_Caption", resourceCulture)!; - - /// Gets the localized SpeedHackDetectConfiguration_AutoBan_Caption text. - public static string SpeedHackDetectConfiguration_AutoBan_Caption => ResourceManager.GetString("SpeedHackDetectConfiguration_AutoBan_Caption", resourceCulture)!; - - /// Gets the localized SpeedHackDetectConfiguration_MagicSpeedBaseDelayMs_Caption text. - public static string SpeedHackDetectConfiguration_MagicSpeedBaseDelayMs_Caption => ResourceManager.GetString("SpeedHackDetectConfiguration_MagicSpeedBaseDelayMs_Caption", resourceCulture)!; - - /// Gets the localized SpeedHackDetectConfiguration_MagicSpeedScalingFactor_Caption text. - public static string SpeedHackDetectConfiguration_MagicSpeedScalingFactor_Caption => ResourceManager.GetString("SpeedHackDetectConfiguration_MagicSpeedScalingFactor_Caption", resourceCulture)!; - - /// Gets the localized SpeedHackDetectConfiguration_MagicSpeedMinIntervalMs_Caption text. - public static string SpeedHackDetectConfiguration_MagicSpeedMinIntervalMs_Caption => ResourceManager.GetString("SpeedHackDetectConfiguration_MagicSpeedMinIntervalMs_Caption", resourceCulture)!; - - /// Gets the localized SpeedHackDetectConfiguration_PingClockToleranceMs_Caption text. - public static string SpeedHackDetectConfiguration_PingClockToleranceMs_Caption => ResourceManager.GetString("SpeedHackDetectConfiguration_PingClockToleranceMs_Caption", resourceCulture)!; - - /// Gets the localized SpeedHackDetectConfiguration_PingAttackSpeedTolerance_Caption text. - public static string SpeedHackDetectConfiguration_PingAttackSpeedTolerance_Caption => ResourceManager.GetString("SpeedHackDetectConfiguration_PingAttackSpeedTolerance_Caption", resourceCulture)!; - - /// Gets the localized SpeedHackDetectConfiguration_AttackSpeedProfiles_Caption text. - public static string SpeedHackDetectConfiguration_AttackSpeedProfiles_Caption => ResourceManager.GetString("SpeedHackDetectConfiguration_AttackSpeedProfiles_Caption", resourceCulture)!; - - /// Gets the localized SpeedHackDetectConfiguration_AttackSpeedProfiles_Description text. - public static string SpeedHackDetectConfiguration_AttackSpeedProfiles_Description => ResourceManager.GetString("SpeedHackDetectConfiguration_AttackSpeedProfiles_Description", resourceCulture)!; - - /// Gets the localized AttackSpeedProfile_SkillId_Caption text. - public static string AttackSpeedProfile_SkillId_Caption => ResourceManager.GetString("AttackSpeedProfile_SkillId_Caption", resourceCulture)!; - - /// Gets the localized AttackSpeedProfile_SpeedSource_Caption text. - public static string AttackSpeedProfile_SpeedSource_Caption => ResourceManager.GetString("AttackSpeedProfile_SpeedSource_Caption", resourceCulture)!; - - /// Gets the localized AttackSpeedProfile_SpeedSource_Description text. - public static string AttackSpeedProfile_SpeedSource_Description => ResourceManager.GetString("AttackSpeedProfile_SpeedSource_Description", resourceCulture)!; - - /// Gets the localized AttackSpeedProfile_BaseDelayMs_Caption text. - public static string AttackSpeedProfile_BaseDelayMs_Caption => ResourceManager.GetString("AttackSpeedProfile_BaseDelayMs_Caption", resourceCulture)!; - - /// Gets the localized AttackSpeedProfile_ScalingFactor_Caption text. - public static string AttackSpeedProfile_ScalingFactor_Caption => ResourceManager.GetString("AttackSpeedProfile_ScalingFactor_Caption", resourceCulture)!; - - /// Gets the localized AttackSpeedProfile_MinimumIntervalMs_Caption text. - public static string AttackSpeedProfile_MinimumIntervalMs_Caption => ResourceManager.GetString("AttackSpeedProfile_MinimumIntervalMs_Caption", resourceCulture)!; - - /// Gets the localized AttackSpeedSource_AttackSpeed text. - public static string AttackSpeedSource_AttackSpeed => ResourceManager.GetString("AttackSpeedSource_AttackSpeed", resourceCulture)!; - - /// Gets the localized AttackSpeedSource_MagicSpeed text. - public static string AttackSpeedSource_MagicSpeed => ResourceManager.GetString("AttackSpeedSource_MagicSpeed", resourceCulture)!; - - /// Gets the localized InvasionSpawnConfiguration_Y_Caption text. - public static string InvasionSpawnConfiguration_Y_Caption => ResourceManager.GetString("InvasionSpawnConfiguration_Y_Caption", resourceCulture)!; - - /// Gets the localized InvasionSpawnConfiguration_X_Caption text. - public static string InvasionSpawnConfiguration_X_Caption => ResourceManager.GetString("InvasionSpawnConfiguration_X_Caption", resourceCulture)!; - - /// Gets the localized InvasionSpawnConfiguration_IsSpawnOnAllMaps_Caption text. - public static string InvasionSpawnConfiguration_IsSpawnOnAllMaps_Caption => ResourceManager.GetString("InvasionSpawnConfiguration_IsSpawnOnAllMaps_Caption", resourceCulture)!; - - /// Gets the localized InvasionSpawnConfiguration_AnnounceDeath_Caption text. - public static string InvasionSpawnConfiguration_AnnounceDeath_Caption => ResourceManager.GetString("InvasionSpawnConfiguration_AnnounceDeath_Caption", resourceCulture)!; - - /// Gets the localized InvasionSpawnConfiguration_MapStrategy_Caption text. - public static string InvasionSpawnConfiguration_MapStrategy_Caption => ResourceManager.GetString("InvasionSpawnConfiguration_MapStrategy_Caption", resourceCulture)!; - - /// Gets the localized InvasionSpawnConfiguration_MapIds_Caption text. - public static string InvasionSpawnConfiguration_MapIds_Caption => ResourceManager.GetString("InvasionSpawnConfiguration_MapIds_Caption", resourceCulture)!; - - /// Gets the localized InvasionSpawnConfiguration_Count_Caption text. - public static string InvasionSpawnConfiguration_Count_Caption => ResourceManager.GetString("InvasionSpawnConfiguration_Count_Caption", resourceCulture)!; - - /// Gets the localized InvasionSpawnConfiguration_MonsterId_Caption text. - public static string InvasionSpawnConfiguration_MonsterId_Caption => ResourceManager.GetString("InvasionSpawnConfiguration_MonsterId_Caption", resourceCulture)!; - - /// Gets the localized KanturuStartConfiguration_EventDefinition_Caption text. - public static string KanturuStartConfiguration_EventDefinition_Caption => ResourceManager.GetString("KanturuStartConfiguration_EventDefinition_Caption", resourceCulture)!; - - /// Gets the localized BlessJewelConsumeHandlerPlugInConfiguration_RepairTargetItems_Caption text. - public static string BlessJewelConsumeHandlerPlugInConfiguration_RepairTargetItems_Caption => ResourceManager.GetString("BlessJewelConsumeHandlerPlugInConfiguration_RepairTargetItems_Caption", resourceCulture)!; - - /// Gets the localized KalimaTicketConsumeHandlerPlugIn_Name text. - public static string KalimaTicketConsumeHandlerPlugIn_Name => ResourceManager.GetString("KalimaTicketConsumeHandlerPlugIn_Name", resourceCulture)!; - - /// Gets the localized KalimaTicketConsumeHandlerPlugIn_Description text. - public static string KalimaTicketConsumeHandlerPlugIn_Description => ResourceManager.GetString("KalimaTicketConsumeHandlerPlugIn_Description", resourceCulture)!; - - /// Gets the localized KalimaTicketConsumeHandlerConfiguration_MinimumLevels_Name text. - public static string KalimaTicketConsumeHandlerConfiguration_MinimumLevels_Name => ResourceManager.GetString("KalimaTicketConsumeHandlerConfiguration_MinimumLevels_Name", resourceCulture)!; - - /// Gets the localized KalimaTicketConsumeHandlerConfiguration_SpecialCharacterMinimumLevels_Name text. - public static string KalimaTicketConsumeHandlerConfiguration_SpecialCharacterMinimumLevels_Name => ResourceManager.GetString("KalimaTicketConsumeHandlerConfiguration_SpecialCharacterMinimumLevels_Name", resourceCulture)!; - - /// Gets the localized SiegePotionConsumeHandlerConfiguration_BlessEffectNumber_Name text. - public static string SiegePotionConsumeHandlerConfiguration_BlessEffectNumber_Name => ResourceManager.GetString("SiegePotionConsumeHandlerConfiguration_BlessEffectNumber_Name", resourceCulture)!; - - /// Gets the localized SiegePotionConsumeHandlerConfiguration_SoulEffectNumber_Name text. - public static string SiegePotionConsumeHandlerConfiguration_SoulEffectNumber_Name => ResourceManager.GetString("SiegePotionConsumeHandlerConfiguration_SoulEffectNumber_Name", resourceCulture)!; - - /// Gets the localized BloodCastleArchangelTalkPlugIn_Name text. - public static string BloodCastleArchangelTalkPlugIn_Name => ResourceManager.GetString("BloodCastleArchangelTalkPlugIn_Name", resourceCulture)!; - - /// Gets the localized BloodCastleArchangelTalkPlugIn_Description text. - public static string BloodCastleArchangelTalkPlugIn_Description => ResourceManager.GetString("BloodCastleArchangelTalkPlugIn_Description", resourceCulture)!; - - /// Gets the localized IllusionTempleStoneStatueTalkPlugIn_Name text. - public static string IllusionTempleStoneStatueTalkPlugIn_Name => ResourceManager.GetString("IllusionTempleStoneStatueTalkPlugIn_Name", resourceCulture)!; - - /// Gets the localized IllusionTempleStoneStatueTalkPlugIn_Description text. - public static string IllusionTempleStoneStatueTalkPlugIn_Description => ResourceManager.GetString("IllusionTempleStoneStatueTalkPlugIn_Description", resourceCulture)!; - - /// Gets the localized IllusionTempleAllianceStorageTalkPlugIn_Name text. - public static string IllusionTempleAllianceStorageTalkPlugIn_Name => ResourceManager.GetString("IllusionTempleAllianceStorageTalkPlugIn_Name", resourceCulture)!; - - /// Gets the localized IllusionTempleAllianceStorageTalkPlugIn_Description text. - public static string IllusionTempleAllianceStorageTalkPlugIn_Description => ResourceManager.GetString("IllusionTempleAllianceStorageTalkPlugIn_Description", resourceCulture)!; - - /// Gets the localized IllusionTempleIllusionStorageTalkPlugIn_Name text. - public static string IllusionTempleIllusionStorageTalkPlugIn_Name => ResourceManager.GetString("IllusionTempleIllusionStorageTalkPlugIn_Name", resourceCulture)!; - - /// Gets the localized IllusionTempleIllusionStorageTalkPlugIn_Description text. - public static string IllusionTempleIllusionStorageTalkPlugIn_Description => ResourceManager.GetString("IllusionTempleIllusionStorageTalkPlugIn_Description", resourceCulture)!; - - /// Gets the localized NpcTalkPlugInConfiguration_Npc_Name text. - public static string NpcTalkPlugInConfiguration_Npc_Name => ResourceManager.GetString("NpcTalkPlugInConfiguration_Npc_Name", resourceCulture)!; - - /// Gets the localized NpcTalkPlugInConfiguration_Npc_Description text. - public static string NpcTalkPlugInConfiguration_Npc_Description => ResourceManager.GetString("NpcTalkPlugInConfiguration_Npc_Description", resourceCulture)!; - - /// Gets the localized TwisterAnimationCounterStrategy_Name text. - public static string TwisterAnimationCounterStrategy_Name => ResourceManager.GetString("TwisterAnimationCounterStrategy_Name", resourceCulture)!; - - /// Gets the localized TwisterAnimationCounterStrategy_Description text. - public static string TwisterAnimationCounterStrategy_Description => ResourceManager.GetString("TwisterAnimationCounterStrategy_Description", resourceCulture)!; - - /// Gets the localized EvilSpiritAnimationCounterStrategy_Name text. - public static string EvilSpiritAnimationCounterStrategy_Name => ResourceManager.GetString("EvilSpiritAnimationCounterStrategy_Name", resourceCulture)!; - - /// Gets the localized EvilSpiritAnimationCounterStrategy_Description text. - public static string EvilSpiritAnimationCounterStrategy_Description => ResourceManager.GetString("EvilSpiritAnimationCounterStrategy_Description", resourceCulture)!; - - /// Gets the localized MultiShotAnimationCounterStrategy_Name text. - public static string MultiShotAnimationCounterStrategy_Name => ResourceManager.GetString("MultiShotAnimationCounterStrategy_Name", resourceCulture)!; - - /// Gets the localized MultiShotAnimationCounterStrategy_Description text. - public static string MultiShotAnimationCounterStrategy_Description => ResourceManager.GetString("MultiShotAnimationCounterStrategy_Description", resourceCulture)!; - - /// Gets the localized LostConnectionDetectionPlugIn_Name text. - public static string LostConnectionDetectionPlugIn_Name => ResourceManager.GetString("LostConnectionDetectionPlugIn_Name", resourceCulture)!; - - /// Gets the localized LostConnectionDetectionPlugIn_Description text. - public static string LostConnectionDetectionPlugIn_Description => ResourceManager.GetString("LostConnectionDetectionPlugIn_Description", resourceCulture)!; - - /// Gets the localized LostConnectionDetectionConfiguration_Timeout_Name text. - public static string LostConnectionDetectionConfiguration_Timeout_Name => ResourceManager.GetString("LostConnectionDetectionConfiguration_Timeout_Name", resourceCulture)!; - - /// Gets the localized LostConnectionDetectionConfiguration_Timeout_Description text. - public static string LostConnectionDetectionConfiguration_Timeout_Description => ResourceManager.GetString("LostConnectionDetectionConfiguration_Timeout_Description", resourceCulture)!; - - /// Gets the localized ItemUpgradeConfiguration_OptionType_Name text. - public static string ItemUpgradeConfiguration_OptionType_Name => ResourceManager.GetString("ItemUpgradeConfiguration_OptionType_Name", resourceCulture)!; - - /// Gets the localized ItemUpgradeConfiguration_OptionType_Description text. - public static string ItemUpgradeConfiguration_OptionType_Description => ResourceManager.GetString("ItemUpgradeConfiguration_OptionType_Description", resourceCulture)!; - - /// Gets the localized ItemUpgradeConfiguration_AddsOption_Name text. - public static string ItemUpgradeConfiguration_AddsOption_Name => ResourceManager.GetString("ItemUpgradeConfiguration_AddsOption_Name", resourceCulture)!; - - /// Gets the localized ItemUpgradeConfiguration_AddsOption_Description text. - public static string ItemUpgradeConfiguration_AddsOption_Description => ResourceManager.GetString("ItemUpgradeConfiguration_AddsOption_Description", resourceCulture)!; - - /// Gets the localized ItemUpgradeConfiguration_IncreasesOption_Name text. - public static string ItemUpgradeConfiguration_IncreasesOption_Name => ResourceManager.GetString("ItemUpgradeConfiguration_IncreasesOption_Name", resourceCulture)!; - - /// Gets the localized ItemUpgradeConfiguration_IncreasesOption_Description text. - public static string ItemUpgradeConfiguration_IncreasesOption_Description => ResourceManager.GetString("ItemUpgradeConfiguration_IncreasesOption_Description", resourceCulture)!; - - /// Gets the localized ItemUpgradeConfiguration_SuccessChance_Name text. - public static string ItemUpgradeConfiguration_SuccessChance_Name => ResourceManager.GetString("ItemUpgradeConfiguration_SuccessChance_Name", resourceCulture)!; - - /// Gets the localized ItemUpgradeConfiguration_SuccessChance_Description text. - public static string ItemUpgradeConfiguration_SuccessChance_Description => ResourceManager.GetString("ItemUpgradeConfiguration_SuccessChance_Description", resourceCulture)!; - - /// Gets the localized ItemUpgradeConfiguration_FailResult_Name text. - public static string ItemUpgradeConfiguration_FailResult_Name => ResourceManager.GetString("ItemUpgradeConfiguration_FailResult_Name", resourceCulture)!; - - /// Gets the localized ItemUpgradeConfiguration_FailResult_Description text. - public static string ItemUpgradeConfiguration_FailResult_Description => ResourceManager.GetString("ItemUpgradeConfiguration_FailResult_Description", resourceCulture)!; - - /// Gets the localized ItemUpgradeConfiguration_BoostOptionType_Name text. - public static string ItemUpgradeConfiguration_BoostOptionType_Name => ResourceManager.GetString("ItemUpgradeConfiguration_BoostOptionType_Name", resourceCulture)!; - - /// Gets the localized ItemUpgradeConfiguration_BoostOptionType_Description text. - public static string ItemUpgradeConfiguration_BoostOptionType_Description => ResourceManager.GetString("ItemUpgradeConfiguration_BoostOptionType_Description", resourceCulture)!; - - /// Gets the localized ItemUpgradeConfiguration_SuccessChanceBoost_Name text. - public static string ItemUpgradeConfiguration_SuccessChanceBoost_Name => ResourceManager.GetString("ItemUpgradeConfiguration_SuccessChanceBoost_Name", resourceCulture)!; - - /// Gets the localized ItemUpgradeConfiguration_SuccessChanceBoost_Description text. - public static string ItemUpgradeConfiguration_SuccessChanceBoost_Description => ResourceManager.GetString("ItemUpgradeConfiguration_SuccessChanceBoost_Description", resourceCulture)!; - - /// Gets the localized SantaVillageInvitationConsumeHandlerPlugIn_Name text. - public static string SantaVillageInvitationConsumeHandlerPlugIn_Name => ResourceManager.GetString("SantaVillageInvitationConsumeHandlerPlugIn_Name", resourceCulture)!; - - /// Gets the localized SantaVillageInvitationConsumeHandlerPlugIn_Description text. - public static string SantaVillageInvitationConsumeHandlerPlugIn_Description => ResourceManager.GetString("SantaVillageInvitationConsumeHandlerPlugIn_Description", resourceCulture)!; - - /// Gets the localized SantaVillageInvitationConsumeHandlerConfiguration_MapNumber_Name text. - public static string SantaVillageInvitationConsumeHandlerConfiguration_MapNumber_Name => ResourceManager.GetString("SantaVillageInvitationConsumeHandlerConfiguration_MapNumber_Name", resourceCulture)!; - - /// Gets the localized BotConfiguration_MapsForbiddenForBots_Name text. - public static string BotConfiguration_MapsForbiddenForBots_Name => ResourceManager.GetString("BotConfiguration_MapsForbiddenForBots_Name", resourceCulture)!; - - /// Gets the localized BotConfiguration_MapsForbiddenForBots_Description text. - public static string BotConfiguration_MapsForbiddenForBots_Description => ResourceManager.GetString("BotConfiguration_MapsForbiddenForBots_Description", resourceCulture)!; /// - /// Looks up a localized string similar to Discord integration of the client. + /// Looks up a localized string similar to Cash shop: Vault Expansion Certificate. /// - public static string DiscordIntegrationFeaturePlugIn_Name { + public static string VaultExtensionDeliveryPlugIn_Name { get { - return ResourceManager.GetString("DiscordIntegrationFeaturePlugIn_Name", resourceCulture); + return ResourceManager.GetString("VaultExtensionDeliveryPlugIn_Name", resourceCulture); } } /// - /// Looks up a localized string similar to Tells game clients which ask for it how the server is connected to Discord (invite link, Rich Presence application, account link, mirrored chats), lets players link their account from the client, and sends them messages written in Discord as such.. + /// Looks up a localized string similar to Plugin which handles the reset fruit of vitality, which takes back invested vitality points and returns them as level up points.. /// - public static string DiscordIntegrationFeaturePlugIn_Description { + public static string VitalityResetFruitConsumeHandlerPlugIn_Description { get { - return ResourceManager.GetString("DiscordIntegrationFeaturePlugIn_Description", resourceCulture); + return ResourceManager.GetString("VitalityResetFruitConsumeHandlerPlugIn_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Reset Fruit of Vitality Consume Handler. + /// + public static string VitalityResetFruitConsumeHandlerPlugIn_Name { + get { + return ResourceManager.GetString("VitalityResetFruitConsumeHandlerPlugIn_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Handles the chat command '/walkmonster <id> <x> <y>'. Walks a previously created monster which can be remote controlled by the GM.. + /// + public static string WalkMonsterChatCommand_Description { + get { + return ResourceManager.GetString("WalkMonsterChatCommand_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Walk remote monster chat command. + /// + public static string WalkMonsterChatCommand_Name { + get { + return ResourceManager.GetString("WalkMonsterChatCommand_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Maximum spawn duration. + /// + public static string WanderingMerchantsConfiguration_MaximumSpawnDuration_Name { + get { + return ResourceManager.GetString("WanderingMerchantsConfiguration_MaximumSpawnDuration_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Minimum spawn duration. + /// + public static string WanderingMerchantsConfiguration_MinimumSpawnDuration_Name { + get { + return ResourceManager.GetString("WanderingMerchantsConfiguration_MinimumSpawnDuration_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to This plugins spawns and moves the wandering merchants.. + /// + public static string WanderingMerchantsPlugIn_Description { + get { + return ResourceManager.GetString("WanderingMerchantsPlugIn_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Wandering Merchants. + /// + public static string WanderingMerchantsPlugIn_Name { + get { + return ResourceManager.GetString("WanderingMerchantsPlugIn_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Updates the state of the weather of each hosted map in a random way.. + /// + public static string WeatherUpdatePlugIn_Description { + get { + return ResourceManager.GetString("WeatherUpdatePlugIn_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Weather Update. + /// + public static string WeatherUpdatePlugIn_Name { + get { + return ResourceManager.GetString("WeatherUpdatePlugIn_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Enables the White Wizard Invasion feature.. + /// + public static string WhiteWizardInvasionPlugIn_Description { + get { + return ResourceManager.GetString("WhiteWizardInvasionPlugIn_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to White Wizard Invasion. + /// + public static string WhiteWizardInvasionPlugIn_Name { + get { + return ResourceManager.GetString("WhiteWizardInvasionPlugIn_Name", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Sends a message to the world chat, which all players of all game servers can read, e.g. '/world Hello!'. It can be bridged to Discord.. + /// + public static string WorldChatChatCommandPlugIn_Description { + get { + return ResourceManager.GetString("WorldChatChatCommandPlugIn_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to World chat command. + /// + public static string WorldChatChatCommandPlugIn_Name { + get { + return ResourceManager.GetString("WorldChatChatCommandPlugIn_Name", resourceCulture); } } - /// Gets the localized BotChatReply_Keywords_Name text. - public static string BotChatReply_Keywords_Name => ResourceManager.GetString("BotChatReply_Keywords_Name", resourceCulture)!; - - /// Gets the localized BotChatReply_Keywords_Description text. - public static string BotChatReply_Keywords_Description => ResourceManager.GetString("BotChatReply_Keywords_Description", resourceCulture)!; - - /// Gets the localized BotChatConfiguration_EventLines_Name text. - public static string BotChatConfiguration_EventLines_Name => ResourceManager.GetString("BotChatConfiguration_EventLines_Name", resourceCulture)!; - - /// Gets the localized BotChatConfiguration_EventLines_Description text. - public static string BotChatConfiguration_EventLines_Description => ResourceManager.GetString("BotChatConfiguration_EventLines_Description", resourceCulture)!; - - /// Gets the localized BotChatConfiguration_InvasionLines_Name text. - public static string BotChatConfiguration_InvasionLines_Name => ResourceManager.GetString("BotChatConfiguration_InvasionLines_Name", resourceCulture)!; - - /// Gets the localized BotChatConfiguration_InvasionLines_Description text. - public static string BotChatConfiguration_InvasionLines_Description => ResourceManager.GetString("BotChatConfiguration_InvasionLines_Description", resourceCulture)!; - - /// Gets the localized BotChatConfiguration_LevelMilestoneLines_Name text. - public static string BotChatConfiguration_LevelMilestoneLines_Name => ResourceManager.GetString("BotChatConfiguration_LevelMilestoneLines_Name", resourceCulture)!; - - /// Gets the localized BotChatConfiguration_LevelMilestoneLines_Description text. - public static string BotChatConfiguration_LevelMilestoneLines_Description => ResourceManager.GetString("BotChatConfiguration_LevelMilestoneLines_Description", resourceCulture)!; - - /// Gets the localized BotChatConfiguration_WhisperReplies_Name text. - public static string BotChatConfiguration_WhisperReplies_Name => ResourceManager.GetString("BotChatConfiguration_WhisperReplies_Name", resourceCulture)!; - - /// Gets the localized BotChatConfiguration_WhisperReplies_Description text. - public static string BotChatConfiguration_WhisperReplies_Description => ResourceManager.GetString("BotChatConfiguration_WhisperReplies_Description", resourceCulture)!; - - /// Gets the localized BotChatConfiguration_GreetingLines_Name text. - public static string BotChatConfiguration_GreetingLines_Name => ResourceManager.GetString("BotChatConfiguration_GreetingLines_Name", resourceCulture)!; - - /// Gets the localized BotChatConfiguration_GreetingLines_Description text. - public static string BotChatConfiguration_GreetingLines_Description => ResourceManager.GetString("BotChatConfiguration_GreetingLines_Description", resourceCulture)!; - - /// Gets the localized BotChatConfiguration_PartyJoinedLines_Name text. - public static string BotChatConfiguration_PartyJoinedLines_Name => ResourceManager.GetString("BotChatConfiguration_PartyJoinedLines_Name", resourceCulture)!; - - /// Gets the localized BotChatConfiguration_PartyJoinedLines_Description text. - public static string BotChatConfiguration_PartyJoinedLines_Description => ResourceManager.GetString("BotChatConfiguration_PartyJoinedLines_Description", resourceCulture)!; - - /// Gets the localized BotChatConfiguration_EventFinishedLines_Name text. - public static string BotChatConfiguration_EventFinishedLines_Name => ResourceManager.GetString("BotChatConfiguration_EventFinishedLines_Name", resourceCulture)!; - - /// Gets the localized BotChatConfiguration_EventFinishedLines_Description text. - public static string BotChatConfiguration_EventFinishedLines_Description => ResourceManager.GetString("BotChatConfiguration_EventFinishedLines_Description", resourceCulture)!; - - /// Gets the localized BotChatConfiguration_KilledLines_Name text. - public static string BotChatConfiguration_KilledLines_Name => ResourceManager.GetString("BotChatConfiguration_KilledLines_Name", resourceCulture)!; - - /// Gets the localized BotChatConfiguration_KilledLines_Description text. - public static string BotChatConfiguration_KilledLines_Description => ResourceManager.GetString("BotChatConfiguration_KilledLines_Description", resourceCulture)!; - - /// Gets the localized BotChatConfiguration_KilledAgainLines_Name text. - public static string BotChatConfiguration_KilledAgainLines_Name => ResourceManager.GetString("BotChatConfiguration_KilledAgainLines_Name", resourceCulture)!; - - /// Gets the localized BotChatConfiguration_KilledAgainLines_Description text. - public static string BotChatConfiguration_KilledAgainLines_Description => ResourceManager.GetString("BotChatConfiguration_KilledAgainLines_Description", resourceCulture)!; - - /// Gets the localized BotChatConfiguration_PartyVolunteerCount_Name text. - public static string BotChatConfiguration_PartyVolunteerCount_Name => ResourceManager.GetString("BotChatConfiguration_PartyVolunteerCount_Name", resourceCulture)!; - - /// Gets the localized BotChatConfiguration_PartyVolunteerCount_Description text. - public static string BotChatConfiguration_PartyVolunteerCount_Description => ResourceManager.GetString("BotChatConfiguration_PartyVolunteerCount_Description", resourceCulture)!; - - /// Gets the localized BotChatConfiguration_PartyRequestKeywords_Name text. - public static string BotChatConfiguration_PartyRequestKeywords_Name => ResourceManager.GetString("BotChatConfiguration_PartyRequestKeywords_Name", resourceCulture)!; - - /// Gets the localized BotChatConfiguration_PartyRequestKeywords_Description text. - public static string BotChatConfiguration_PartyRequestKeywords_Description => ResourceManager.GetString("BotChatConfiguration_PartyRequestKeywords_Description", resourceCulture)!; - - /// Gets the localized BotChatConfiguration_PartyBloodCastleKeywords_Name text. - public static string BotChatConfiguration_PartyBloodCastleKeywords_Name => ResourceManager.GetString("BotChatConfiguration_PartyBloodCastleKeywords_Name", resourceCulture)!; - - /// Gets the localized BotChatConfiguration_PartyBloodCastleKeywords_Description text. - public static string BotChatConfiguration_PartyBloodCastleKeywords_Description => ResourceManager.GetString("BotChatConfiguration_PartyBloodCastleKeywords_Description", resourceCulture)!; - - /// Gets the localized BotChatConfiguration_PartyDevilSquareKeywords_Name text. - public static string BotChatConfiguration_PartyDevilSquareKeywords_Name => ResourceManager.GetString("BotChatConfiguration_PartyDevilSquareKeywords_Name", resourceCulture)!; - - /// Gets the localized BotChatConfiguration_PartyDevilSquareKeywords_Description text. - public static string BotChatConfiguration_PartyDevilSquareKeywords_Description => ResourceManager.GetString("BotChatConfiguration_PartyDevilSquareKeywords_Description", resourceCulture)!; - - /// Gets the localized BotChatConfiguration_PartyChaosCastleKeywords_Name text. - public static string BotChatConfiguration_PartyChaosCastleKeywords_Name => ResourceManager.GetString("BotChatConfiguration_PartyChaosCastleKeywords_Name", resourceCulture)!; - - /// Gets the localized BotChatConfiguration_PartyChaosCastleKeywords_Description text. - public static string BotChatConfiguration_PartyChaosCastleKeywords_Description => ResourceManager.GetString("BotChatConfiguration_PartyChaosCastleKeywords_Description", resourceCulture)!; - - /// Gets the localized BotChatConfiguration_PartyHereKeywords_Name text. - public static string BotChatConfiguration_PartyHereKeywords_Name => ResourceManager.GetString("BotChatConfiguration_PartyHereKeywords_Name", resourceCulture)!; - - /// Gets the localized BotChatConfiguration_PartyHereKeywords_Description text. - public static string BotChatConfiguration_PartyHereKeywords_Description => ResourceManager.GetString("BotChatConfiguration_PartyHereKeywords_Description", resourceCulture)!; - - /// Gets the localized BotChatConfiguration_PartyOfferTimeout_Name text. - public static string BotChatConfiguration_PartyOfferTimeout_Name => ResourceManager.GetString("BotChatConfiguration_PartyOfferTimeout_Name", resourceCulture)!; - - /// Gets the localized BotChatConfiguration_PartyOfferTimeout_Description text. - public static string BotChatConfiguration_PartyOfferTimeout_Description => ResourceManager.GetString("BotChatConfiguration_PartyOfferTimeout_Description", resourceCulture)!; - - /// Gets the localized BotChatConfiguration_PartyMeetingWaitTime_Name text. - public static string BotChatConfiguration_PartyMeetingWaitTime_Name => ResourceManager.GetString("BotChatConfiguration_PartyMeetingWaitTime_Name", resourceCulture)!; - - /// Gets the localized BotChatConfiguration_PartyMeetingWaitTime_Description text. - public static string BotChatConfiguration_PartyMeetingWaitTime_Description => ResourceManager.GetString("BotChatConfiguration_PartyMeetingWaitTime_Description", resourceCulture)!; - - /// Gets the localized BotChatConfiguration_PartyVolunteerLines_Name text. - public static string BotChatConfiguration_PartyVolunteerLines_Name => ResourceManager.GetString("BotChatConfiguration_PartyVolunteerLines_Name", resourceCulture)!; - - /// Gets the localized BotChatConfiguration_PartyVolunteerLines_Description text. - public static string BotChatConfiguration_PartyVolunteerLines_Description => ResourceManager.GetString("BotChatConfiguration_PartyVolunteerLines_Description", resourceCulture)!; - - /// Gets the localized BotChatConfiguration_PartyAskWhereLines_Name text. - public static string BotChatConfiguration_PartyAskWhereLines_Name => ResourceManager.GetString("BotChatConfiguration_PartyAskWhereLines_Name", resourceCulture)!; - - /// Gets the localized BotChatConfiguration_PartyAskWhereLines_Description text. - public static string BotChatConfiguration_PartyAskWhereLines_Description => ResourceManager.GetString("BotChatConfiguration_PartyAskWhereLines_Description", resourceCulture)!; - - /// Gets the localized BotChatConfiguration_PartyOnTheWayLines_Name text. - public static string BotChatConfiguration_PartyOnTheWayLines_Name => ResourceManager.GetString("BotChatConfiguration_PartyOnTheWayLines_Name", resourceCulture)!; - - /// Gets the localized BotChatConfiguration_PartyOnTheWayLines_Description text. - public static string BotChatConfiguration_PartyOnTheWayLines_Description => ResourceManager.GetString("BotChatConfiguration_PartyOnTheWayLines_Description", resourceCulture)!; - - /// Gets the localized BotChatConfiguration_PartyCantGoLines_Name text. - public static string BotChatConfiguration_PartyCantGoLines_Name => ResourceManager.GetString("BotChatConfiguration_PartyCantGoLines_Name", resourceCulture)!; - - /// Gets the localized BotChatConfiguration_PartyCantGoLines_Description text. - public static string BotChatConfiguration_PartyCantGoLines_Description => ResourceManager.GetString("BotChatConfiguration_PartyCantGoLines_Description", resourceCulture)!; - - /// Gets the localized BotChatConfiguration_PartyClassAliases_Name text. - public static string BotChatConfiguration_PartyClassAliases_Name => ResourceManager.GetString("BotChatConfiguration_PartyClassAliases_Name", resourceCulture)!; - - /// Gets the localized BotChatConfiguration_PartyClassAliases_Description text. - public static string BotChatConfiguration_PartyClassAliases_Description => ResourceManager.GetString("BotChatConfiguration_PartyClassAliases_Description", resourceCulture)!; - - /// Gets the localized BotClassAlias_Keywords_Name text. - public static string BotClassAlias_Keywords_Name => ResourceManager.GetString("BotClassAlias_Keywords_Name", resourceCulture)!; - - /// Gets the localized BotClassAlias_Keywords_Description text. - public static string BotClassAlias_Keywords_Description => ResourceManager.GetString("BotClassAlias_Keywords_Description", resourceCulture)!; - - /// Gets the localized BotClassAlias_ClassNumber_Name text. - public static string BotClassAlias_ClassNumber_Name => ResourceManager.GetString("BotClassAlias_ClassNumber_Name", resourceCulture)!; - - /// Gets the localized BotClassAlias_ClassNumber_Description text. - public static string BotClassAlias_ClassNumber_Description => ResourceManager.GetString("BotClassAlias_ClassNumber_Description", resourceCulture)!; - - /// Gets the localized BotChatConfiguration_ConversationInterval_Name text. - public static string BotChatConfiguration_ConversationInterval_Name => ResourceManager.GetString("BotChatConfiguration_ConversationInterval_Name", resourceCulture)!; - - /// Gets the localized BotChatConfiguration_ConversationInterval_Description text. - public static string BotChatConfiguration_ConversationInterval_Description => ResourceManager.GetString("BotChatConfiguration_ConversationInterval_Description", resourceCulture)!; - - /// Gets the localized BotChatConfiguration_ConversationChancePercent_Name text. - public static string BotChatConfiguration_ConversationChancePercent_Name => ResourceManager.GetString("BotChatConfiguration_ConversationChancePercent_Name", resourceCulture)!; - - /// Gets the localized BotChatConfiguration_ConversationChancePercent_Description text. - public static string BotChatConfiguration_ConversationChancePercent_Description => ResourceManager.GetString("BotChatConfiguration_ConversationChancePercent_Description", resourceCulture)!; - - /// Gets the localized BotChatConfiguration_Conversations_Name text. - public static string BotChatConfiguration_Conversations_Name => ResourceManager.GetString("BotChatConfiguration_Conversations_Name", resourceCulture)!; - - /// Gets the localized BotChatConfiguration_Conversations_Description text. - public static string BotChatConfiguration_Conversations_Description => ResourceManager.GetString("BotChatConfiguration_Conversations_Description", resourceCulture)!; - - /// Gets the localized BotConversation_Opener_Name text. - public static string BotConversation_Opener_Name => ResourceManager.GetString("BotConversation_Opener_Name", resourceCulture)!; - - /// Gets the localized BotConversation_Opener_Description text. - public static string BotConversation_Opener_Description => ResourceManager.GetString("BotConversation_Opener_Description", resourceCulture)!; - - /// Gets the localized BotConversation_Reply_Name text. - public static string BotConversation_Reply_Name => ResourceManager.GetString("BotConversation_Reply_Name", resourceCulture)!; - - /// Gets the localized BotConversation_Reply_Description text. - public static string BotConversation_Reply_Description => ResourceManager.GetString("BotConversation_Reply_Description", resourceCulture)!; - - /// Gets the localized BotConversation_Where_Name text. - public static string BotConversation_Where_Name => ResourceManager.GetString("BotConversation_Where_Name", resourceCulture)!; - - /// Gets the localized BotConversation_Where_Description text. - public static string BotConversation_Where_Description => ResourceManager.GetString("BotConversation_Where_Description", resourceCulture)!; - - /// Gets the localized BotChatConfiguration_MerchantTalkInterval_Name text. - public static string BotChatConfiguration_MerchantTalkInterval_Name => ResourceManager.GetString("BotChatConfiguration_MerchantTalkInterval_Name", resourceCulture)!; - - /// Gets the localized BotChatConfiguration_MerchantTalkInterval_Description text. - public static string BotChatConfiguration_MerchantTalkInterval_Description => ResourceManager.GetString("BotChatConfiguration_MerchantTalkInterval_Description", resourceCulture)!; - - /// Gets the localized BotChatConfiguration_MerchantTalkChancePercent_Name text. - public static string BotChatConfiguration_MerchantTalkChancePercent_Name => ResourceManager.GetString("BotChatConfiguration_MerchantTalkChancePercent_Name", resourceCulture)!; - - /// Gets the localized BotChatConfiguration_MerchantTalkChancePercent_Description text. - public static string BotChatConfiguration_MerchantTalkChancePercent_Description => ResourceManager.GetString("BotChatConfiguration_MerchantTalkChancePercent_Description", resourceCulture)!; - - /// Gets the localized BotChatConfiguration_MerchantLines_Name text. - public static string BotChatConfiguration_MerchantLines_Name => ResourceManager.GetString("BotChatConfiguration_MerchantLines_Name", resourceCulture)!; - - /// Gets the localized BotChatConfiguration_MerchantLines_Description text. - public static string BotChatConfiguration_MerchantLines_Description => ResourceManager.GetString("BotChatConfiguration_MerchantLines_Description", resourceCulture)!; - - /// Gets the localized BotChatConfiguration_CongratulationChancePercent_Name text. - public static string BotChatConfiguration_CongratulationChancePercent_Name => ResourceManager.GetString("BotChatConfiguration_CongratulationChancePercent_Name", resourceCulture)!; - - /// Gets the localized BotChatConfiguration_CongratulationChancePercent_Description text. - public static string BotChatConfiguration_CongratulationChancePercent_Description => ResourceManager.GetString("BotChatConfiguration_CongratulationChancePercent_Description", resourceCulture)!; - - /// Gets the localized BotChatConfiguration_CongratulationCooldown_Name text. - public static string BotChatConfiguration_CongratulationCooldown_Name => ResourceManager.GetString("BotChatConfiguration_CongratulationCooldown_Name", resourceCulture)!; - - /// Gets the localized BotChatConfiguration_CongratulationCooldown_Description text. - public static string BotChatConfiguration_CongratulationCooldown_Description => ResourceManager.GetString("BotChatConfiguration_CongratulationCooldown_Description", resourceCulture)!; - - /// Gets the localized BotChatConfiguration_CongratulationLines_Name text. - public static string BotChatConfiguration_CongratulationLines_Name => ResourceManager.GetString("BotChatConfiguration_CongratulationLines_Name", resourceCulture)!; - - /// Gets the localized BotChatConfiguration_CongratulationLines_Description text. - public static string BotChatConfiguration_CongratulationLines_Description => ResourceManager.GetString("BotChatConfiguration_CongratulationLines_Description", resourceCulture)!; - - /// Gets the localized BotChatConfiguration_ResetCongratulationLines_Name text. - public static string BotChatConfiguration_ResetCongratulationLines_Name => ResourceManager.GetString("BotChatConfiguration_ResetCongratulationLines_Name", resourceCulture)!; - - /// Gets the localized BotChatConfiguration_ResetCongratulationLines_Description text. - public static string BotChatConfiguration_ResetCongratulationLines_Description => ResourceManager.GetString("BotChatConfiguration_ResetCongratulationLines_Description", resourceCulture)!; - - /// Gets the localized BotChatLine_When_Name text. - public static string BotChatLine_When_Name => ResourceManager.GetString("BotChatLine_When_Name", resourceCulture)!; - - /// Gets the localized BotChatLine_When_Description text. - public static string BotChatLine_When_Description => ResourceManager.GetString("BotChatLine_When_Description", resourceCulture)!; - - /// Gets the localized BotChatConfiguration_DeclineReplyChancePercent_Name text. - public static string BotChatConfiguration_DeclineReplyChancePercent_Name => ResourceManager.GetString("BotChatConfiguration_DeclineReplyChancePercent_Name", resourceCulture)!; - - /// Gets the localized BotChatConfiguration_DeclineReplyChancePercent_Description text. - public static string BotChatConfiguration_DeclineReplyChancePercent_Description => ResourceManager.GetString("BotChatConfiguration_DeclineReplyChancePercent_Description", resourceCulture)!; - - /// Gets the localized BotChatConfiguration_TradeDeclineLines_Name text. - public static string BotChatConfiguration_TradeDeclineLines_Name => ResourceManager.GetString("BotChatConfiguration_TradeDeclineLines_Name", resourceCulture)!; - - /// Gets the localized BotChatConfiguration_TradeDeclineLines_Description text. - public static string BotChatConfiguration_TradeDeclineLines_Description => ResourceManager.GetString("BotChatConfiguration_TradeDeclineLines_Description", resourceCulture)!; - - /// Gets the localized BotChatConfiguration_DuelDeclineLines_Name text. - public static string BotChatConfiguration_DuelDeclineLines_Name => ResourceManager.GetString("BotChatConfiguration_DuelDeclineLines_Name", resourceCulture)!; - - /// Gets the localized BotChatConfiguration_DuelDeclineLines_Description text. - public static string BotChatConfiguration_DuelDeclineLines_Description => ResourceManager.GetString("BotChatConfiguration_DuelDeclineLines_Description", resourceCulture)!; - - /// Gets the localized BotChatConfiguration_BusyChatMessageCount_Name text. - public static string BotChatConfiguration_BusyChatMessageCount_Name => ResourceManager.GetString("BotChatConfiguration_BusyChatMessageCount_Name", resourceCulture)!; - - /// Gets the localized BotChatConfiguration_BusyChatMessageCount_Description text. - public static string BotChatConfiguration_BusyChatMessageCount_Description => ResourceManager.GetString("BotChatConfiguration_BusyChatMessageCount_Description", resourceCulture)!; - - /// Gets the localized BotChatConfiguration_BusyChatWindow_Name text. - public static string BotChatConfiguration_BusyChatWindow_Name => ResourceManager.GetString("BotChatConfiguration_BusyChatWindow_Name", resourceCulture)!; - - /// Gets the localized BotChatConfiguration_BusyChatWindow_Description text. - public static string BotChatConfiguration_BusyChatWindow_Description => ResourceManager.GetString("BotChatConfiguration_BusyChatWindow_Description", resourceCulture)!; - - /// Gets the localized BotChatConfiguration_MessageLanguages_Name text. - public static string BotChatConfiguration_MessageLanguages_Name => ResourceManager.GetString("BotChatConfiguration_MessageLanguages_Name", resourceCulture)!; - - /// Gets the localized BotChatConfiguration_MessageLanguages_Description text. - public static string BotChatConfiguration_MessageLanguages_Description => ResourceManager.GetString("BotChatConfiguration_MessageLanguages_Description", resourceCulture)!; - - /// Gets the localized BotChatLanguageHint_Language_Name text. - public static string BotChatLanguageHint_Language_Name => ResourceManager.GetString("BotChatLanguageHint_Language_Name", resourceCulture)!; - - /// Gets the localized BotChatLanguageHint_Language_Description text. - public static string BotChatLanguageHint_Language_Description => ResourceManager.GetString("BotChatLanguageHint_Language_Description", resourceCulture)!; - - /// Gets the localized BotChatLanguageHint_Words_Name text. - public static string BotChatLanguageHint_Words_Name => ResourceManager.GetString("BotChatLanguageHint_Words_Name", resourceCulture)!; - - /// Gets the localized BotChatLanguageHint_Words_Description text. - public static string BotChatLanguageHint_Words_Description => ResourceManager.GetString("BotChatLanguageHint_Words_Description", resourceCulture)!; - - /// Gets the localized BotChatLanguageHint_Letters_Name text. - public static string BotChatLanguageHint_Letters_Name => ResourceManager.GetString("BotChatLanguageHint_Letters_Name", resourceCulture)!; - - /// Gets the localized BotChatLanguageHint_Letters_Description text. - public static string BotChatLanguageHint_Letters_Description => ResourceManager.GetString("BotChatLanguageHint_Letters_Description", resourceCulture)!; - - /// Gets the localized BotChatLine_Gesture_Name text. - public static string BotChatLine_Gesture_Name => ResourceManager.GetString("BotChatLine_Gesture_Name", resourceCulture)!; - - /// Gets the localized BotChatLine_Gesture_Description text. - public static string BotChatLine_Gesture_Description => ResourceManager.GetString("BotChatLine_Gesture_Description", resourceCulture)!; - - /// Gets the localized BotConversation_Riposte_Name text. - public static string BotConversation_Riposte_Name => ResourceManager.GetString("BotConversation_Riposte_Name", resourceCulture)!; - - /// Gets the localized BotConversation_Riposte_Description text. - public static string BotConversation_Riposte_Description => ResourceManager.GetString("BotConversation_Riposte_Description", resourceCulture)!; - - /// Gets the localized BotChatConfiguration_ConversationJoinLines_Name text. - public static string BotChatConfiguration_ConversationJoinLines_Name => ResourceManager.GetString("BotChatConfiguration_ConversationJoinLines_Name", resourceCulture)!; - - /// Gets the localized BotChatConfiguration_ConversationJoinLines_Description text. - public static string BotChatConfiguration_ConversationJoinLines_Description => ResourceManager.GetString("BotChatConfiguration_ConversationJoinLines_Description", resourceCulture)!; - - /// Gets the localized BotChatConfiguration_EventReminderChancePercent_Name text. - public static string BotChatConfiguration_EventReminderChancePercent_Name => ResourceManager.GetString("BotChatConfiguration_EventReminderChancePercent_Name", resourceCulture)!; - - /// Gets the localized BotChatConfiguration_EventReminderChancePercent_Description text. - public static string BotChatConfiguration_EventReminderChancePercent_Description => ResourceManager.GetString("BotChatConfiguration_EventReminderChancePercent_Description", resourceCulture)!; - - /// Gets the localized BotChatConfiguration_EventReminderLines_Name text. - public static string BotChatConfiguration_EventReminderLines_Name => ResourceManager.GetString("BotChatConfiguration_EventReminderLines_Name", resourceCulture)!; - - /// Gets the localized BotChatConfiguration_EventReminderLines_Description text. - public static string BotChatConfiguration_EventReminderLines_Description => ResourceManager.GetString("BotChatConfiguration_EventReminderLines_Description", resourceCulture)!; - - /// Gets the localized BotChatConfiguration_RareDropChancePercent_Name text. - public static string BotChatConfiguration_RareDropChancePercent_Name => ResourceManager.GetString("BotChatConfiguration_RareDropChancePercent_Name", resourceCulture)!; - - /// Gets the localized BotChatConfiguration_RareDropChancePercent_Description text. - public static string BotChatConfiguration_RareDropChancePercent_Description => ResourceManager.GetString("BotChatConfiguration_RareDropChancePercent_Description", resourceCulture)!; - - /// Gets the localized BotChatConfiguration_NotableMonsterChancePercent_Name text. - public static string BotChatConfiguration_NotableMonsterChancePercent_Name => ResourceManager.GetString("BotChatConfiguration_NotableMonsterChancePercent_Name", resourceCulture)!; - - /// Gets the localized BotChatConfiguration_NotableMonsterChancePercent_Description text. - public static string BotChatConfiguration_NotableMonsterChancePercent_Description => ResourceManager.GetString("BotChatConfiguration_NotableMonsterChancePercent_Description", resourceCulture)!; - - /// Gets the localized BotChatConfiguration_NotableMonsterNumbers_Name text. - public static string BotChatConfiguration_NotableMonsterNumbers_Name => ResourceManager.GetString("BotChatConfiguration_NotableMonsterNumbers_Name", resourceCulture)!; - - /// Gets the localized BotChatConfiguration_NotableMonsterNumbers_Description text. - public static string BotChatConfiguration_NotableMonsterNumbers_Description => ResourceManager.GetString("BotChatConfiguration_NotableMonsterNumbers_Description", resourceCulture)!; - - /// Gets the localized BotChatConfiguration_RareDropLines_Name text. - public static string BotChatConfiguration_RareDropLines_Name => ResourceManager.GetString("BotChatConfiguration_RareDropLines_Name", resourceCulture)!; - - /// Gets the localized BotChatConfiguration_RareDropLines_Description text. - public static string BotChatConfiguration_RareDropLines_Description => ResourceManager.GetString("BotChatConfiguration_RareDropLines_Description", resourceCulture)!; - - /// Gets the localized BotChatConfiguration_NotableMonsterLines_Name text. - public static string BotChatConfiguration_NotableMonsterLines_Name => ResourceManager.GetString("BotChatConfiguration_NotableMonsterLines_Name", resourceCulture)!; - - /// Gets the localized BotChatConfiguration_NotableMonsterLines_Description text. - public static string BotChatConfiguration_NotableMonsterLines_Description => ResourceManager.GetString("BotChatConfiguration_NotableMonsterLines_Description", resourceCulture)!; - - /// Gets the localized BotChatConfiguration_FriendLines_Name text. - public static string BotChatConfiguration_FriendLines_Name => ResourceManager.GetString("BotChatConfiguration_FriendLines_Name", resourceCulture)!; - - /// Gets the localized BotChatConfiguration_FriendLines_Description text. - public static string BotChatConfiguration_FriendLines_Description => ResourceManager.GetString("BotChatConfiguration_FriendLines_Description", resourceCulture)!; - - /// Gets the localized BotSayChatCommandPlugIn_Name text. - public static string BotSayChatCommandPlugIn_Name => ResourceManager.GetString("BotSayChatCommandPlugIn_Name", resourceCulture)!; - - /// Gets the localized BotSayChatCommandPlugIn_Description text. - public static string BotSayChatCommandPlugIn_Description => ResourceManager.GetString("BotSayChatCommandPlugIn_Description", resourceCulture)!; - - /// Gets the localized BotChatConfiguration_WingsChancePercent_Name text. - public static string BotChatConfiguration_WingsChancePercent_Name => ResourceManager.GetString("BotChatConfiguration_WingsChancePercent_Name", resourceCulture)!; - - /// Gets the localized BotChatConfiguration_WingsChancePercent_Description text. - public static string BotChatConfiguration_WingsChancePercent_Description => ResourceManager.GetString("BotChatConfiguration_WingsChancePercent_Description", resourceCulture)!; - - /// Gets the localized BotChatConfiguration_OwnWingsLines_Name text. - public static string BotChatConfiguration_OwnWingsLines_Name => ResourceManager.GetString("BotChatConfiguration_OwnWingsLines_Name", resourceCulture)!; - - /// Gets the localized BotChatConfiguration_OwnWingsLines_Description text. - public static string BotChatConfiguration_OwnWingsLines_Description => ResourceManager.GetString("BotChatConfiguration_OwnWingsLines_Description", resourceCulture)!; - - /// Gets the localized BotChatConfiguration_PlayerWingsLines_Name text. - public static string BotChatConfiguration_PlayerWingsLines_Name => ResourceManager.GetString("BotChatConfiguration_PlayerWingsLines_Name", resourceCulture)!; - - /// Gets the localized BotChatConfiguration_PlayerWingsLines_Description text. - public static string BotChatConfiguration_PlayerWingsLines_Description => ResourceManager.GetString("BotChatConfiguration_PlayerWingsLines_Description", resourceCulture)!; - - /// Gets the localized BotChatConfiguration_WithoutWingsLines_Name text. - public static string BotChatConfiguration_WithoutWingsLines_Name => ResourceManager.GetString("BotChatConfiguration_WithoutWingsLines_Name", resourceCulture)!; - - /// Gets the localized BotChatConfiguration_WithoutWingsLines_Description text. - public static string BotChatConfiguration_WithoutWingsLines_Description => ResourceManager.GetString("BotChatConfiguration_WithoutWingsLines_Description", resourceCulture)!; - } } diff --git a/src/GameLogic/Properties/PlugInResources.de.resx b/src/GameLogic/Properties/PlugInResources.de.resx index 2dce97f15f..c476911ee9 100644 --- a/src/GameLogic/Properties/PlugInResources.de.resx +++ b/src/GameLogic/Properties/PlugInResources.de.resx @@ -2010,4 +2010,10 @@ Plugin, das den Verbrauch des mittleren Elite-Heiltranks verarbeitet. Er stellt einen Teil der Lebenspunkte sofort wieder her. + + Warp-Liste nach dem Betreten des Spiels anzeigen + + + Teilt dem Client beim Betreten des Spiels mit, welche Warps der Spieler im Warp-Fenster auswählen kann. + diff --git a/src/GameLogic/Properties/PlugInResources.resx b/src/GameLogic/Properties/PlugInResources.resx index 90267fd5bf..e212c3adc8 100644 --- a/src/GameLogic/Properties/PlugInResources.resx +++ b/src/GameLogic/Properties/PlugInResources.resx @@ -2055,4 +2055,10 @@ Said by the nearest bot when a player put on wings - once per player and pair until the server restarts. Placeholders: {player}, {wings} (the player's), {map}. Answers without wings Said instead of a whisper reply with {wings} when the bot has no wings yet ("no wings yet, saving up"). Placeholders: {player}, {level}, {map}. + + Show the warp list after entering the game + + + Tells the client which warps the player can select in the warp window, when the player enters the game. + diff --git a/src/GameLogic/Views/World/IShowWarpListPlugIn.cs b/src/GameLogic/Views/World/IShowWarpListPlugIn.cs new file mode 100644 index 0000000000..cfe19e213a --- /dev/null +++ b/src/GameLogic/Views/World/IShowWarpListPlugIn.cs @@ -0,0 +1,22 @@ +// +// Licensed under the MIT License. See LICENSE file in the project root for full license information. +// + +namespace MUnique.OpenMU.GameLogic.Views.World; + +using MUnique.OpenMU.DataModel.Configuration; + +/// +/// Interface of a view whose implementation informs about the warps which the player can select in the warp window. +/// +/// +/// Only clients which can replace the warp list of their data files have an implementation of it. +/// +public interface IShowWarpListPlugIn : IViewPlugIn +{ + /// + /// Shows the warps which the player can select in the warp window. + /// + /// The warps. + ValueTask ShowWarpListAsync(IReadOnlyCollection warps); +} diff --git a/src/GameServer/Properties/PlugInResources.Designer.cs b/src/GameServer/Properties/PlugInResources.Designer.cs index 773bfe5698..da86265900 100644 --- a/src/GameServer/Properties/PlugInResources.Designer.cs +++ b/src/GameServer/Properties/PlugInResources.Designer.cs @@ -6819,6 +6819,24 @@ public static string ShowShopCurrenciesExtendedPlugIn_Name { } } + /// + /// Looks up a localized string similar to Sends the warp list of the server to the open source client, which shows it in its warp window instead of the warp list of its data files.. + /// + public static string ShowWarpListExtendedPlugIn_Description { + get { + return ResourceManager.GetString("ShowWarpListExtendedPlugIn_Description", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Show warp list (extended). + /// + public static string ShowWarpListExtendedPlugIn_Name { + get { + return ResourceManager.GetString("ShowWarpListExtendedPlugIn_Name", resourceCulture); + } + } + /// /// Looks up a localized string similar to The extended implementation of the IShowShopItemListPlugIn which is forwarding everything to the game client with specific data packets.. /// diff --git a/src/GameServer/Properties/PlugInResources.de.resx b/src/GameServer/Properties/PlugInResources.de.resx index 6df2e3df7c..b6beade72a 100644 --- a/src/GameServer/Properties/PlugInResources.de.resx +++ b/src/GameServer/Properties/PlugInResources.de.resx @@ -2667,4 +2667,10 @@ Die erweiterte Implementierung von IShowItemCraftingPreviewPlugIn, die alles mit spezifischen Datenpaketen an den Spielclient weiterleitet. + + Warp-Liste anzeigen (erweitert) + + + Sendet die Warp-Liste des Servers an den Open-Source-Client, der sie in seinem Warp-Fenster statt der Warp-Liste seiner Datendateien anzeigt. + diff --git a/src/GameServer/Properties/PlugInResources.resx b/src/GameServer/Properties/PlugInResources.resx index fcd75f7c30..62c16f0461 100644 --- a/src/GameServer/Properties/PlugInResources.resx +++ b/src/GameServer/Properties/PlugInResources.resx @@ -2771,4 +2771,10 @@ The extended implementation of the IShowItemCraftingPreviewPlugIn which is forwarding everything to the game client with specific data packets. + + Show warp list (extended) + + + Sends the warp list of the server to the open source client, which shows it in its warp window instead of the warp list of its data files. + diff --git a/src/GameServer/RemoteView/World/ShowWarpListExtendedPlugIn.cs b/src/GameServer/RemoteView/World/ShowWarpListExtendedPlugIn.cs new file mode 100644 index 0000000000..0a275c9b60 --- /dev/null +++ b/src/GameServer/RemoteView/World/ShowWarpListExtendedPlugIn.cs @@ -0,0 +1,105 @@ +// +// Licensed under the MIT License. See LICENSE file in the project root for full license information. +// + +namespace MUnique.OpenMU.GameServer.RemoteView.World; + +using System.Globalization; +using System.Runtime.InteropServices; +using System.Text; +using MUnique.OpenMU.DataModel.Configuration; +using MUnique.OpenMU.GameLogic.Views.World; +using MUnique.OpenMU.Network; +using MUnique.OpenMU.Network.Packets.ServerToClient; +using MUnique.OpenMU.Network.PlugIns; +using MUnique.OpenMU.PlugIns; + +/// +/// The extended implementation of the which is forwarding everything to the game client with specific data packets. +/// +[PlugIn] +[Display(Name = nameof(PlugInResources.ShowWarpListExtendedPlugIn_Name), Description = nameof(PlugInResources.ShowWarpListExtendedPlugIn_Description), ResourceType = typeof(PlugInResources))] +[Guid("D679BFFC-2096-40B8-8BD9-1DA7771B9152")] +[MinimumClient(106, 3, ClientLanguage.Invariant)] +public class ShowWarpListExtendedPlugIn : IShowWarpListPlugIn +{ + /// + /// The length of the name field of an entry of the WarpListExtended packet. + /// + internal const int NameLength = 32; + + private readonly RemotePlayer _player; + + /// + /// Initializes a new instance of the class. + /// + /// The player. + public ShowWarpListExtendedPlugIn(RemotePlayer player) => this._player = player; + + /// + public async ValueTask ShowWarpListAsync(IReadOnlyCollection warps) + { + if (this._player.Connection is not { } connection) + { + return; + } + + // The count field is one byte. Real warp lists are far below that. + var entries = warps.Take(byte.MaxValue).ToList(); + var culture = this._player.Culture; + + int Write() + { + var size = WarpListExtendedRef.GetRequiredSize(entries.Count); + var packet = new WarpListExtendedRef(connection.Output.GetSpan(size)[..size]) + { + Count = (byte)entries.Count, + }; + + for (var i = 0; i < entries.Count; i++) + { + var warp = entries[i]; + var entry = packet[i]; + entry.Index = (ushort)warp.Index; + entry.MapNumber = (ushort)(warp.Gate?.Map?.Number ?? 0); + entry.LevelRequirement = (ushort)Math.Clamp(warp.LevelRequirement, 0, ushort.MaxValue); + entry.Costs = (uint)Math.Max(warp.Costs, 0); + entry.Name = FitIntoNameField(warp.Name.GetTranslation(culture) ?? string.Empty); + } + + return size; + } + + await connection.SendAsync(Write).ConfigureAwait(false); + } + + /// + /// Shortens the name to the whole characters which fit into the name field as UTF-8. + /// + /// The name. + /// The name, or its beginning which fits into the name field. + internal static string FitIntoNameField(string name) + { + if (Encoding.UTF8.GetByteCount(name) <= NameLength) + { + return name; + } + + var result = new StringBuilder(); + var byteCount = 0; + var elements = StringInfo.GetTextElementEnumerator(name); + while (elements.MoveNext()) + { + var element = elements.GetTextElement(); + byteCount += Encoding.UTF8.GetByteCount(element); + if (byteCount > NameLength) + { + break; + } + + result.Append(element); + } + + return result.ToString(); + } +} diff --git a/src/Network/Packets/ServerToClient/ServerToClientPackets.cs b/src/Network/Packets/ServerToClient/ServerToClientPackets.cs index 722c669274..2ca1664994 100644 --- a/src/Network/Packets/ServerToClient/ServerToClientPackets.cs +++ b/src/Network/Packets/ServerToClient/ServerToClientPackets.cs @@ -34899,6 +34899,167 @@ public string Message } +/// +/// Is sent by the server when: After the character entered the game world, when the client is the open source client. +/// Causes reaction on client side: The client shows these warps in its warp window (and accepts them for the warp chat command) instead of the warp list of its data files. Warps which the client knows keep the name of its data files; others get the name of this message. +/// +public readonly struct WarpListExtended +{ + private readonly Memory _data; + + /// + /// Initializes a new instance of the struct. + /// + /// The underlying data. + public WarpListExtended(Memory data) + : this(data, true) + { + } + + /// + /// Initializes a new instance of the struct. + /// + /// The underlying data. + /// If set to true, the header data is automatically initialized and written to the underlying span. + private WarpListExtended(Memory data, bool initialize) + { + this._data = data; + if (initialize) + { + var header = this.Header; + header.Type = HeaderType; + header.Code = Code; + header.Length = (ushort)data.Length; + header.SubCode = SubCode; + } + } + + /// + /// Gets the header type of this data packet. + /// + public static byte HeaderType => 0xC2; + + /// + /// Gets the operation code of this data packet. + /// + public static byte Code => 0xF5; + + /// + /// Gets the operation sub-code of this data packet. + /// The is used as a grouping key. + /// + public static byte SubCode => 0x09; + + /// + /// Gets the header of this packet. + /// + public C2HeaderWithSubCode Header => new (this._data); + + /// + /// Gets or sets the count. + /// + public byte Count + { + get => this._data.Span[5]; + set => this._data.Span[5] = value; + } + + /// + /// Gets the of the specified index. + /// + public WarpListEntry this[int index] => new (this._data.Slice(6 + index * WarpListEntry.Length)); + + /// + /// Performs an implicit conversion from a Memory of bytes to a . + /// + /// The packet as span. + /// The packet as struct. + public static implicit operator WarpListExtended(Memory packet) => new (packet, false); + + /// + /// Performs an implicit conversion from to a Memory of bytes. + /// + /// The packet as struct. + /// The packet as byte span. + public static implicit operator Memory(WarpListExtended packet) => packet._data; + + /// + /// Calculates the size of the packet for the specified count of . + /// + /// The count of from which the size will be calculated. + + public static int GetRequiredSize(int warpsCount) => warpsCount * WarpListEntry.Length + 6; + + +/// +/// A warp which the player can select in the warp window.. +/// +public readonly struct WarpListEntry +{ + private readonly Memory _data; + + /// + /// Initializes a new instance of the struct. + /// + /// The underlying data. + public WarpListEntry(Memory data) + { + this._data = data; + } + + /// + /// Gets the initial length of this data packet. When the size is dynamic, this value may be bigger than actually needed. + /// + public static int Length => 44; + + /// + /// Gets or sets the index of the warp, which the client sends in the WarpCommandRequest. + /// + public ushort Index + { + get => ReadUInt16LittleEndian(this._data.Span); + set => WriteUInt16LittleEndian(this._data.Span, value); + } + + /// + /// Gets or sets the number of the map to which the warp leads. + /// + public ushort MapNumber + { + get => ReadUInt16LittleEndian(this._data.Span[2..]); + set => WriteUInt16LittleEndian(this._data.Span[2..], value); + } + + /// + /// Gets or sets the required character level, as configured. Character classes with a reduced warp level requirement get the reduction on top of it, like in the warp list of the data files. + /// + public ushort LevelRequirement + { + get => ReadUInt16LittleEndian(this._data.Span[4..]); + set => WriteUInt16LittleEndian(this._data.Span[4..], value); + } + + /// + /// Gets or sets the zen which the warp costs. + /// + public uint Costs + { + get => ReadUInt32LittleEndian(this._data.Span[8..]); + set => WriteUInt32LittleEndian(this._data.Span[8..], value); + } + + /// + /// Gets or sets the name of the warp, in the language of the player. + /// + public string Name + { + get => this._data.Span.ExtractString(12, 32, System.Text.Encoding.UTF8); + set => this._data.Slice(12, 32).Span.WriteString(value, System.Text.Encoding.UTF8); + } +} +} + + /// /// Is sent by the server when: The player receives the result of registering Rena or Event Chips at the Golden Archer NPC. /// Causes reaction on client side: The client updates the Golden Archer interface with total registered count and remaining count in inventory. diff --git a/src/Network/Packets/ServerToClient/ServerToClientPackets.xml b/src/Network/Packets/ServerToClient/ServerToClientPackets.xml index 756ae07ff7..3f91944658 100644 --- a/src/Network/Packets/ServerToClient/ServerToClientPackets.xml +++ b/src/Network/Packets/ServerToClient/ServerToClientPackets.xml @@ -12793,6 +12793,69 @@ + + C2HeaderWithSubCode + F5 + 09 + WarpListExtended + ServerToClient + After the character entered the game world, when the client is the open source client. + The client shows these warps in its warp window (and accepts them for the warp chat command) instead of the warp list of its data files. Warps which the client knows keep the name of its data files; others get the name of this message. + + + 5 + Byte + Count + + + 6 + Structure[] + WarpListEntry + Warps + Count + + + + + WarpListEntry + A warp which the player can select in the warp window. + 44 + + + 0 + ShortLittleEndian + Index + The index of the warp, which the client sends in the WarpCommandRequest. + + + 2 + ShortLittleEndian + MapNumber + The number of the map to which the warp leads. + + + 4 + ShortLittleEndian + LevelRequirement + The required character level, as configured. Character classes with a reduced warp level requirement get the reduction on top of it, like in the warp list of the data files. + + + 8 + IntegerLittleEndian + Costs + The zen which the warp costs. + + + 12 + String + Name + 32 + The name of the warp, in the language of the player. + + + + + C1Header 94 diff --git a/src/Network/Packets/ServerToClient/ServerToClientPacketsRef.cs b/src/Network/Packets/ServerToClient/ServerToClientPacketsRef.cs index 29419c2951..c83a0741de 100644 --- a/src/Network/Packets/ServerToClient/ServerToClientPacketsRef.cs +++ b/src/Network/Packets/ServerToClient/ServerToClientPacketsRef.cs @@ -32838,6 +32838,167 @@ public string Message } +/// +/// Is sent by the server when: After the character entered the game world, when the client is the open source client. +/// Causes reaction on client side: The client shows these warps in its warp window (and accepts them for the warp chat command) instead of the warp list of its data files. Warps which the client knows keep the name of its data files; others get the name of this message. +/// +public readonly ref struct WarpListExtendedRef +{ + private readonly Span _data; + + /// + /// Initializes a new instance of the struct. + /// + /// The underlying data. + public WarpListExtendedRef(Span data) + : this(data, true) + { + } + + /// + /// Initializes a new instance of the struct. + /// + /// The underlying data. + /// If set to true, the header data is automatically initialized and written to the underlying span. + private WarpListExtendedRef(Span data, bool initialize) + { + this._data = data; + if (initialize) + { + var header = this.Header; + header.Type = HeaderType; + header.Code = Code; + header.Length = (ushort)data.Length; + header.SubCode = SubCode; + } + } + + /// + /// Gets the header type of this data packet. + /// + public static byte HeaderType => 0xC2; + + /// + /// Gets the operation code of this data packet. + /// + public static byte Code => 0xF5; + + /// + /// Gets the operation sub-code of this data packet. + /// The is used as a grouping key. + /// + public static byte SubCode => 0x09; + + /// + /// Gets the header of this packet. + /// + public C2HeaderWithSubCodeRef Header => new (this._data); + + /// + /// Gets or sets the count. + /// + public byte Count + { + get => this._data[5]; + set => this._data[5] = value; + } + + /// + /// Gets the of the specified index. + /// + public WarpListEntryRef this[int index] => new (this._data[(6 + index * WarpListEntryRef.Length)..]); + + /// + /// Performs an implicit conversion from a Span of bytes to a . + /// + /// The packet as span. + /// The packet as struct. + public static implicit operator WarpListExtendedRef(Span packet) => new (packet, false); + + /// + /// Performs an implicit conversion from to a Span of bytes. + /// + /// The packet as struct. + /// The packet as byte span. + public static implicit operator Span(WarpListExtendedRef packet) => packet._data; + + /// + /// Calculates the size of the packet for the specified count of . + /// + /// The count of from which the size will be calculated. + + public static int GetRequiredSize(int warpsCount) => warpsCount * WarpListEntryRef.Length + 6; + + +/// +/// A warp which the player can select in the warp window.. +/// +public readonly ref struct WarpListEntryRef +{ + private readonly Span _data; + + /// + /// Initializes a new instance of the struct. + /// + /// The underlying data. + public WarpListEntryRef(Span data) + { + this._data = data; + } + + /// + /// Gets the initial length of this data packet. When the size is dynamic, this value may be bigger than actually needed. + /// + public static int Length => 44; + + /// + /// Gets or sets the index of the warp, which the client sends in the WarpCommandRequest. + /// + public ushort Index + { + get => ReadUInt16LittleEndian(this._data); + set => WriteUInt16LittleEndian(this._data, value); + } + + /// + /// Gets or sets the number of the map to which the warp leads. + /// + public ushort MapNumber + { + get => ReadUInt16LittleEndian(this._data[2..]); + set => WriteUInt16LittleEndian(this._data[2..], value); + } + + /// + /// Gets or sets the required character level, as configured. Character classes with a reduced warp level requirement get the reduction on top of it, like in the warp list of the data files. + /// + public ushort LevelRequirement + { + get => ReadUInt16LittleEndian(this._data[4..]); + set => WriteUInt16LittleEndian(this._data[4..], value); + } + + /// + /// Gets or sets the zen which the warp costs. + /// + public uint Costs + { + get => ReadUInt32LittleEndian(this._data[8..]); + set => WriteUInt32LittleEndian(this._data[8..], value); + } + + /// + /// Gets or sets the name of the warp, in the language of the player. + /// + public string Name + { + get => this._data.ExtractString(12, 32, System.Text.Encoding.UTF8); + set => this._data.Slice(12, 32).WriteString(value, System.Text.Encoding.UTF8); + } +} +} + + /// /// Is sent by the server when: The player receives the result of registering Rena or Event Chips at the Golden Archer NPC. /// Causes reaction on client side: The client updates the Golden Archer interface with total registered count and remaining count in inventory. diff --git a/src/Persistence/EntityFramework/CompiledModels/EntityDataContext/EntityDataContextModelBuilder.cs b/src/Persistence/EntityFramework/CompiledModels/EntityDataContext/EntityDataContextModelBuilder.cs index 64ef86323a..4d3231ed53 100644 --- a/src/Persistence/EntityFramework/CompiledModels/EntityDataContext/EntityDataContextModelBuilder.cs +++ b/src/Persistence/EntityFramework/CompiledModels/EntityDataContext/EntityDataContextModelBuilder.cs @@ -12,7 +12,7 @@ namespace MUnique.OpenMU.Persistence.EntityFramework.CompiledModels.ForEntityDat public partial class EntityDataContextModel { private EntityDataContextModel() - : base(skipDetectChanges: false, modelId: new Guid("424a4b8c-7130-4089-a8ea-0f4f6ddc06a2"), entityTypeCount: 129) + : base(skipDetectChanges: false, modelId: new Guid("d56bc8cd-52a2-42a0-a760-fd4e9e56ff02"), entityTypeCount: 129) { } diff --git a/src/Persistence/EntityFramework/CompiledModels/EntityDataContext/WarpInfoEntityType.cs b/src/Persistence/EntityFramework/CompiledModels/EntityDataContext/WarpInfoEntityType.cs index d9c989f824..d28d3f1a86 100644 --- a/src/Persistence/EntityFramework/CompiledModels/EntityDataContext/WarpInfoEntityType.cs +++ b/src/Persistence/EntityFramework/CompiledModels/EntityDataContext/WarpInfoEntityType.cs @@ -25,7 +25,7 @@ public static RuntimeEntityType Create(RuntimeModel model, RuntimeEntityType bas "MUnique.OpenMU.Persistence.EntityFramework.Model.WarpInfo", typeof(MUnique.OpenMU.Persistence.EntityFramework.Model.WarpInfo), baseEntityType, - propertyCount: 7, + propertyCount: 8, navigationCount: 1, foreignKeyCount: 2, unnamedIndexCount: 2, @@ -72,6 +72,14 @@ public static RuntimeEntityType Create(RuntimeModel model, RuntimeEntityType bas sentinel: 0); index.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None); + var isWarpable = runtimeEntityType.AddProperty( + "IsWarpable", + typeof(bool), + propertyInfo: typeof(MUnique.OpenMU.DataModel.Configuration.WarpInfo).GetProperty("IsWarpable", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly), + fieldInfo: typeof(MUnique.OpenMU.DataModel.Configuration.WarpInfo).GetField("k__BackingField", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly), + sentinel: false); + isWarpable.AddAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.None); + var levelRequirement = runtimeEntityType.AddProperty( "LevelRequirement", typeof(int), diff --git a/src/Persistence/EntityFramework/Loading/GameConfigurationLoader.Generated.cs b/src/Persistence/EntityFramework/Loading/GameConfigurationLoader.Generated.cs index fd056400a5..7fd94c0861 100644 --- a/src/Persistence/EntityFramework/Loading/GameConfigurationLoader.Generated.cs +++ b/src/Persistence/EntityFramework/Loading/GameConfigurationLoader.Generated.cs @@ -87,7 +87,7 @@ internal sealed partial class GameConfigurationLoader "select \"Id\", \"AreaSkillSettingsId\", \"AttackDamage\", \"DamageType\", \"ElementalModifierTargetId\", \"GameConfigurationId\", \"ImplicitTargetRange\", \"MagicEffectDefId\", \"MasterDefinitionId\", \"MovesTarget\", \"MovesToTarget\", \"Name\", \"Number\", \"NumberOfHitsPerAttack\", \"Range\", \"SkillType\", \"SkipElementalModifier\", \"Target\", \"TargetRestriction\" from config.\"Skill\"", "select \"Id\", \"DelayBetweenHits\", \"DelayPerOneDistance\", \"EffectRange\", \"FrustumDistance\", \"FrustumEndWidth\", \"FrustumStartWidth\", \"HitChancePerDistanceMultiplier\", \"MaximumNumberOfHitsPerAttack\", \"MaximumNumberOfHitsPerTarget\", \"MinimumNumberOfHitsPerAttack\", \"MinimumNumberOfHitsPerTarget\", \"ProjectileCount\", \"TargetAreaDiameter\", \"UseDeferredHits\", \"UseFrustumFilter\", \"UseTargetAreaFilter\" from config.\"AreaSkillSettings\"", "select \"Id\", \"Aggregation\", \"DisplayValueFormula\", \"ExtendsDuration\", \"MaximumLevel\", \"MinimumLevel\", \"Rank\", \"ReplacedSkillId\", \"RootId\", \"TargetAttributeId\", \"ValueFormula\" from config.\"MasterSkillDefinition\"", - "select \"Id\", \"Costs\", \"GameConfigurationId\", \"GateId\", \"Index\", \"LevelRequirement\", \"Name\" from config.\"WarpInfo\"", + "select \"Id\", \"Costs\", \"GameConfigurationId\", \"GateId\", \"Index\", \"IsWarpable\", \"LevelRequirement\", \"Name\" from config.\"WarpInfo\"", "select \"DropItemGroupId\", \"ItemDefinitionId\" from config.\"DropItemGroupItemDefinition\"", "select \"ItemDefinitionId\", \"ItemOptionDefinitionId\" from config.\"ItemDefinitionItemOptionDefinition\"", "select \"ItemDefinitionId\", \"ItemSetGroupId\" from config.\"ItemDefinitionItemSetGroup\"", @@ -1716,8 +1716,9 @@ internal sealed partial class GameConfigurationLoader entity.Costs = reader.GetInt32(1); if (!reader.IsDBNull(3)) { entity.GateId = reader.GetGuid(3); } entity.Index = reader.GetInt32(4); - entity.LevelRequirement = reader.GetInt32(5); - entity.Name = reader.IsDBNull(6) ? default : new global::MUnique.OpenMU.Interfaces.LocalizedString(reader.GetString(6)); + entity.IsWarpable = reader.GetBoolean(5); + entity.LevelRequirement = reader.GetInt32(6); + entity.Name = reader.IsDBNull(7) ? default : new global::MUnique.OpenMU.Interfaces.LocalizedString(reader.GetString(7)); this._WarpInfo[entity.Id] = entity; this._WarpInfoRows.Add((entity, reader.IsDBNull(3) ? null : reader.GetGuid(3), reader.IsDBNull(2) ? null : reader.GetGuid(2))); } diff --git a/src/Persistence/EntityFramework/Migrations/20261113114020_AddWarpInfoIsWarpable.Designer.cs b/src/Persistence/EntityFramework/Migrations/20261113114020_AddWarpInfoIsWarpable.Designer.cs new file mode 100644 index 0000000000..cf256a949a --- /dev/null +++ b/src/Persistence/EntityFramework/Migrations/20261113114020_AddWarpInfoIsWarpable.Designer.cs @@ -0,0 +1,6893 @@ +// +using System; +using MUnique.OpenMU.Persistence.EntityFramework; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Migrations; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; +using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; + +#nullable disable + +namespace MUnique.OpenMU.Persistence.EntityFramework.Migrations +{ + [DbContext(typeof(MUnique.OpenMU.Persistence.EntityFramework.EntityDataContext))] + [Migration("20261113114020_AddWarpInfoIsWarpable")] + partial class AddWarpInfoIsWarpable + { + /// + protected override void BuildTargetModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder + .HasAnnotation("ProductVersion", "10.0.2") + .HasAnnotation("Relational:MaxIdentifierLength", 63); + + NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.Account", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("ChatBanUntil") + .HasColumnType("timestamp with time zone"); + + b.Property("EMail") + .IsRequired() + .HasColumnType("text"); + + b.Property("GoblinPoints") + .HasColumnType("integer"); + + b.Property("IsBot") + .HasColumnType("boolean"); + + b.Property("IsNetworkObservationActive") + .HasColumnType("boolean"); + + b.Property("IsTemplate") + .HasColumnType("boolean"); + + b.Property("IsVaultExtended") + .HasColumnType("boolean"); + + b.Property("LanguageIsoCode") + .IsRequired() + .ValueGeneratedOnAdd() + .HasMaxLength(3) + .HasColumnType("character varying(3)") + .HasDefaultValue("en"); + + b.Property("LoginName") + .IsRequired() + .HasMaxLength(10) + .HasColumnType("character varying(10)"); + + b.Property("PasswordHash") + .IsRequired() + .HasColumnType("text"); + + b.Property("RegistrationDate") + .HasColumnType("timestamp with time zone"); + + b.Property("SecurityCode") + .IsRequired() + .HasColumnType("text"); + + b.Property("State") + .HasColumnType("integer"); + + b.Property("TimeZone") + .HasColumnType("smallint"); + + b.Property("VaultId") + .HasColumnType("uuid"); + + b.Property("VaultPassword") + .IsRequired() + .HasColumnType("text"); + + b.Property("WCoinC") + .HasColumnType("integer"); + + b.Property("WCoinP") + .HasColumnType("integer"); + + b.HasKey("Id"); + + b.HasIndex("LoginName") + .IsUnique(); + + b.HasIndex("VaultId") + .IsUnique(); + + b.ToTable("Account", "data"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.AccountAttributeGrant", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("AccountId") + .HasColumnType("uuid"); + + b.Property("AttributeId") + .HasColumnType("uuid"); + + b.Property("ValidUntil") + .HasColumnType("timestamp with time zone"); + + b.Property("Value") + .HasColumnType("real"); + + b.HasKey("Id"); + + b.HasIndex("AccountId"); + + b.HasIndex("AttributeId"); + + b.ToTable("AccountAttributeGrant", "data"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.AccountCharacterClass", b => + { + b.Property("AccountId") + .HasColumnType("uuid"); + + b.Property("CharacterClassId") + .HasColumnType("uuid"); + + b.HasKey("AccountId", "CharacterClassId"); + + b.HasIndex("CharacterClassId"); + + b.ToTable("AccountCharacterClass", "data"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.AccountExternalLink", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("AccountId") + .HasColumnType("uuid"); + + b.Property("CharacterName") + .HasColumnType("text"); + + b.Property("CodeExpiresAt") + .HasColumnType("timestamp with time zone"); + + b.Property("CodeHash") + .HasColumnType("text"); + + b.Property("ExternalUserId") + .HasColumnType("text"); + + b.Property("ExternalUserName") + .HasColumnType("text"); + + b.Property("LinkedAt") + .HasColumnType("timestamp with time zone"); + + b.Property("Notifications") + .HasColumnType("integer"); + + b.Property("Provider") + .IsRequired() + .HasColumnType("text"); + + b.HasKey("Id"); + + b.HasIndex("CodeHash"); + + b.HasIndex("AccountId", "Provider") + .IsUnique(); + + b.HasIndex("Provider", "ExternalUserId") + .IsUnique(); + + b.ToTable("AccountExternalLink", "data"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.AppearanceData", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("CharacterClassId") + .HasColumnType("uuid"); + + b.Property("FullAncientSetEquipped") + .HasColumnType("boolean"); + + b.Property("Pose") + .HasColumnType("smallint"); + + b.HasKey("Id"); + + b.HasIndex("CharacterClassId"); + + b.ToTable("AppearanceData", "data"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.AreaSkillSettings", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("DelayBetweenHits") + .HasColumnType("interval"); + + b.Property("DelayPerOneDistance") + .HasColumnType("interval"); + + b.Property("EffectRange") + .HasColumnType("integer"); + + b.Property("FrustumDistance") + .HasColumnType("real"); + + b.Property("FrustumEndWidth") + .HasColumnType("real"); + + b.Property("FrustumStartWidth") + .HasColumnType("real"); + + b.Property("HitChancePerDistanceMultiplier") + .HasColumnType("real"); + + b.Property("MaximumNumberOfHitsPerAttack") + .HasColumnType("integer"); + + b.Property("MaximumNumberOfHitsPerTarget") + .HasColumnType("integer"); + + b.Property("MinimumNumberOfHitsPerAttack") + .HasColumnType("integer"); + + b.Property("MinimumNumberOfHitsPerTarget") + .HasColumnType("integer"); + + b.Property("ProjectileCount") + .HasColumnType("integer"); + + b.Property("TargetAreaDiameter") + .HasColumnType("real"); + + b.Property("UseDeferredHits") + .HasColumnType("boolean"); + + b.Property("UseFrustumFilter") + .HasColumnType("boolean"); + + b.Property("UseTargetAreaFilter") + .HasColumnType("boolean"); + + b.HasKey("Id"); + + b.ToTable("AreaSkillSettings", "config"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.AttributeDefinition", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("Description") + .HasColumnType("text"); + + b.Property("Designation") + .HasColumnType("text"); + + b.Property("GameConfigurationId") + .HasColumnType("uuid"); + + b.Property("MaximumValue") + .HasColumnType("real"); + + b.HasKey("Id"); + + b.HasIndex("GameConfigurationId"); + + b.ToTable("AttributeDefinition", "config"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.AttributeRelationship", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("AggregateType") + .HasColumnType("integer"); + + b.Property("CharacterClassId") + .HasColumnType("uuid"); + + b.Property("GameConfigurationId") + .HasColumnType("uuid"); + + b.Property("InputAttributeId") + .HasColumnType("uuid"); + + b.Property("InputOperand") + .HasColumnType("real"); + + b.Property("InputOperator") + .HasColumnType("integer"); + + b.Property("OperandAttributeId") + .HasColumnType("uuid"); + + b.Property("PowerUpDefinitionValueId") + .HasColumnType("uuid"); + + b.Property("SkillId") + .HasColumnType("uuid"); + + b.Property("TargetAttributeId") + .HasColumnType("uuid"); + + b.HasKey("Id"); + + b.HasIndex("CharacterClassId"); + + b.HasIndex("GameConfigurationId"); + + b.HasIndex("InputAttributeId"); + + b.HasIndex("OperandAttributeId"); + + b.HasIndex("PowerUpDefinitionValueId"); + + b.HasIndex("SkillId"); + + b.HasIndex("TargetAttributeId"); + + b.ToTable("AttributeRelationship", "config"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.AttributeRequirement", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("AttributeId") + .HasColumnType("uuid"); + + b.Property("GameMapDefinitionId") + .HasColumnType("uuid"); + + b.Property("GameServerDefinitionId") + .HasColumnType("uuid"); + + b.Property("ItemDefinitionId") + .HasColumnType("uuid"); + + b.Property("MinimumItemLevel") + .HasColumnType("smallint"); + + b.Property("MinimumValue") + .HasColumnType("integer"); + + b.Property("SkillId") + .HasColumnType("uuid"); + + b.Property("SkillId1") + .HasColumnType("uuid"); + + b.HasKey("Id"); + + b.HasIndex("AttributeId"); + + b.HasIndex("GameMapDefinitionId"); + + b.HasIndex("GameServerDefinitionId"); + + b.HasIndex("ItemDefinitionId"); + + b.HasIndex("SkillId"); + + b.HasIndex("SkillId1"); + + b.ToTable("AttributeRequirement", "config"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.BattleZoneDefinition", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("GroundId") + .HasColumnType("uuid"); + + b.Property("LeftGoalId") + .HasColumnType("uuid"); + + b.Property("LeftTeamSpawnPointX") + .HasColumnType("smallint"); + + b.Property("LeftTeamSpawnPointY") + .HasColumnType("smallint"); + + b.Property("RightGoalId") + .HasColumnType("uuid"); + + b.Property("RightTeamSpawnPointX") + .HasColumnType("smallint"); + + b.Property("RightTeamSpawnPointY") + .HasColumnType("smallint"); + + b.Property("Type") + .HasColumnType("integer"); + + b.HasKey("Id"); + + b.HasIndex("GroundId") + .IsUnique(); + + b.HasIndex("LeftGoalId") + .IsUnique(); + + b.HasIndex("RightGoalId") + .IsUnique(); + + b.ToTable("BattleZoneDefinition", "config"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.Buff", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("MagicEffectDefinitionId") + .HasColumnType("uuid"); + + b.Property("MaximumLevel") + .HasColumnType("integer"); + + b.Property("MinimumLevel") + .HasColumnType("integer"); + + b.Property("MonsterDefinitionId") + .HasColumnType("uuid"); + + b.HasKey("Id"); + + b.HasIndex("MagicEffectDefinitionId") + .IsUnique(); + + b.HasIndex("MonsterDefinitionId"); + + b.ToTable("Buff", "config"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.CashShopCoinGrant", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("AccountId") + .HasColumnType("uuid"); + + b.Property("Amount") + .HasColumnType("integer"); + + b.Property("AppliedAt") + .HasColumnType("timestamp with time zone"); + + b.Property("CoinType") + .HasColumnType("integer"); + + b.Property("CreatedAt") + .HasColumnType("timestamp with time zone"); + + b.Property("GrantedBy") + .HasColumnType("text"); + + b.Property("Reason") + .HasColumnType("text"); + + b.Property("Reference") + .HasColumnType("text"); + + b.HasKey("Id"); + + b.HasIndex("Reference") + .IsUnique(); + + b.HasIndex("AccountId", "AppliedAt"); + + b.ToTable("CashShopCoinGrant", "data"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.CashShopConfiguration", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("BannerSaleZone") + .HasColumnType("smallint"); + + b.Property("BannerYear") + .HasColumnType("smallint"); + + b.Property("BannerYearId") + .HasColumnType("smallint"); + + b.Property("ScriptSaleZone") + .HasColumnType("smallint"); + + b.Property("ScriptYear") + .HasColumnType("smallint"); + + b.Property("ScriptYearId") + .HasColumnType("smallint"); + + b.HasKey("Id"); + + b.ToTable("CashShopConfiguration", "config"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.CashShopPackage", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("CashShopConfigurationId") + .HasColumnType("uuid"); + + b.Property("CoinType") + .HasColumnType("integer"); + + b.Property("IsBundle") + .HasColumnType("boolean"); + + b.Property("IsForSale") + .HasColumnType("boolean"); + + b.Property("IsGiftable") + .HasColumnType("boolean"); + + b.Property("Name") + .IsRequired() + .HasColumnType("text"); + + b.Property("PackageSequence") + .HasColumnType("integer"); + + b.Property("Price") + .HasColumnType("integer"); + + b.HasKey("Id"); + + b.HasIndex("CashShopConfigurationId"); + + b.ToTable("CashShopPackage", "config"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.CashShopProduct", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("CashShopPackageId") + .HasColumnType("uuid"); + + b.Property("Duration") + .HasColumnType("interval"); + + b.Property("ItemDefinitionId") + .HasColumnType("uuid"); + + b.Property("ItemLevel") + .HasColumnType("smallint"); + + b.Property("Price") + .HasColumnType("integer"); + + b.Property("PriceSequence") + .HasColumnType("integer"); + + b.Property("ProductSequence") + .HasColumnType("integer"); + + b.Property("Quantity") + .HasColumnType("integer"); + + b.HasKey("Id"); + + b.HasIndex("CashShopPackageId"); + + b.HasIndex("ItemDefinitionId"); + + b.ToTable("CashShopProduct", "config"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.CashShopStorageItem", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("AccountId") + .HasColumnType("uuid"); + + b.Property("AddedAt") + .HasColumnType("timestamp with time zone"); + + b.Property("GiftMessage") + .HasColumnType("text"); + + b.Property("GiftSenderName") + .HasColumnType("text"); + + b.Property("IsGift") + .HasColumnType("boolean"); + + b.Property("PriceSequence") + .HasColumnType("integer"); + + b.Property("ProductSequence") + .HasColumnType("integer"); + + b.HasKey("Id"); + + b.HasIndex("AccountId"); + + b.ToTable("CashShopStorageItem", "data"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.CastleSiegeConfiguration", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("AttackRespawnAreaId") + .HasColumnType("uuid"); + + b.Property("CastleSiegeMapDefinitionId") + .HasColumnType("uuid"); + + b.Property("CrownHoldTimeSeconds") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasDefaultValue(30); + + b.Property("DefenseRespawnAreaId") + .HasColumnType("uuid"); + + b.Property("Enabled") + .HasColumnType("boolean"); + + b.Property("GateBuyPrice") + .HasColumnType("integer"); + + b.Property("GateRepairCostPerHealthPoint") + .HasColumnType("integer"); + + b.Property("GuildScoreCastleSiege") + .HasColumnType("integer"); + + b.Property("GuildScoreCastleSiegeMembers") + .HasColumnType("integer"); + + b.Property("LandOfTrialsMapDefinitionId") + .HasColumnType("uuid"); + + b.Property("MaxAttackingGuilds") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasDefaultValue(3); + + b.Property("ParticipantRewardMinSeconds") + .HasColumnType("integer"); + + b.Property("RegisterMinLevel") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasDefaultValue(200); + + b.Property("RegisterMinMembers") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasDefaultValue(20); + + b.Property("RepairCostPerUpgradeLevel") + .HasColumnType("integer"); + + b.Property("RewardItemDefinitionId") + .HasColumnType("uuid"); + + b.Property("SignOfLordItemDefinitionId") + .HasColumnType("uuid"); + + b.Property("SignOfLordItemLevel") + .ValueGeneratedOnAdd() + .HasColumnType("smallint") + .HasDefaultValue((byte)3); + + b.Property("StatueBuyPrice") + .HasColumnType("integer"); + + b.Property("StatueRepairCostPerHealthPoint") + .HasColumnType("integer"); + + b.HasKey("Id"); + + b.HasIndex("AttackRespawnAreaId") + .IsUnique(); + + b.HasIndex("CastleSiegeMapDefinitionId"); + + b.HasIndex("DefenseRespawnAreaId") + .IsUnique(); + + b.HasIndex("LandOfTrialsMapDefinitionId"); + + b.HasIndex("RewardItemDefinitionId"); + + b.HasIndex("SignOfLordItemDefinitionId"); + + b.ToTable("CastleSiegeConfiguration", "config"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.CastleSiegeData", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("IsHuntZoneEnabled") + .HasColumnType("boolean"); + + b.Property("IsOccupied") + .HasColumnType("boolean"); + + b.Property("OwnerGuildId") + .HasColumnType("uuid"); + + b.Property("TaxChaos") + .HasColumnType("smallint"); + + b.Property("TaxHunt") + .HasColumnType("integer"); + + b.Property("TaxStore") + .HasColumnType("smallint"); + + b.Property("TributeMoney") + .HasColumnType("bigint"); + + b.HasKey("Id"); + + b.HasIndex("OwnerGuildId"); + + b.ToTable("CastleSiegeData", "data"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.CastleSiegeGuild", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("CastleSiegeDataId") + .HasColumnType("uuid"); + + b.Property("GuildId") + .HasColumnType("uuid"); + + b.Property("GuildName") + .IsRequired() + .HasMaxLength(8) + .HasColumnType("character varying(8)"); + + b.Property("IsAllianceMaster") + .HasColumnType("boolean"); + + b.Property("Score") + .HasColumnType("integer"); + + b.Property("Side") + .HasColumnType("smallint"); + + b.HasKey("Id"); + + b.HasIndex("CastleSiegeDataId"); + + b.HasIndex("GuildId") + .IsUnique(); + + b.ToTable("CastleSiegeGuild", "data"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.CastleSiegeGuildRegistration", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("GuildId") + .HasColumnType("uuid"); + + b.Property("GuildName") + .IsRequired() + .HasMaxLength(8) + .HasColumnType("character varying(8)"); + + b.Property("Marks") + .HasColumnType("integer"); + + b.Property("RegistrationOrder") + .HasColumnType("integer"); + + b.HasKey("Id"); + + b.HasIndex("GuildId") + .IsUnique(); + + b.ToTable("CastleSiegeGuildRegistration", "data"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.CastleSiegeNpcDefinition", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("CastleSiegeConfigurationId") + .HasColumnType("uuid"); + + b.Property("DefaultSide") + .HasColumnType("smallint"); + + b.Property("Direction") + .HasColumnType("integer"); + + b.Property("InstanceId") + .HasColumnType("smallint"); + + b.Property("IsPersistedToDatabase") + .HasColumnType("boolean"); + + b.Property("MonsterDefinitionId") + .HasColumnType("uuid"); + + b.Property("SpawnX") + .HasColumnType("smallint"); + + b.Property("SpawnY") + .HasColumnType("smallint"); + + b.HasKey("Id"); + + b.HasIndex("CastleSiegeConfigurationId"); + + b.HasIndex("MonsterDefinitionId", "InstanceId"); + + b.ToTable("CastleSiegeNpcDefinition", "config"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.CastleSiegeNpcState", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("CastleSiegeDataId") + .HasColumnType("uuid"); + + b.Property("CurrentHp") + .HasColumnType("integer"); + + b.Property("DefenseLevel") + .HasColumnType("smallint"); + + b.Property("InstanceId") + .HasColumnType("smallint"); + + b.Property("LifeLevel") + .HasColumnType("smallint"); + + b.Property("MonsterNumber") + .HasColumnType("smallint"); + + b.Property("RegenLevel") + .HasColumnType("smallint"); + + b.HasKey("Id"); + + b.HasIndex("CastleSiegeDataId"); + + b.HasIndex("MonsterNumber", "InstanceId") + .IsUnique(); + + b.ToTable("CastleSiegeNpcState", "data"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.CastleSiegePendingReward", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("CharacterId") + .HasColumnType("uuid"); + + b.Property("ItemDefinitionId") + .HasColumnType("uuid"); + + b.HasKey("Id"); + + b.HasIndex("CharacterId"); + + b.HasIndex("ItemDefinitionId"); + + b.ToTable("CastleSiegePendingReward", "data"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.CastleSiegeStateScheduleEntry", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("CastleSiegeConfigurationId") + .HasColumnType("uuid"); + + b.Property("DayOfWeek") + .HasColumnType("integer"); + + b.Property("Hour") + .HasColumnType("smallint"); + + b.Property("Minute") + .HasColumnType("smallint"); + + b.Property("State") + .HasColumnType("smallint"); + + b.HasKey("Id"); + + b.HasIndex("CastleSiegeConfigurationId"); + + b.ToTable("CastleSiegeStateScheduleEntry", "config"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.CastleSiegeUpgradeDefinition", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("CastleSiegeConfigurationId") + .HasColumnType("uuid"); + + b.Property("CastleSiegeConfigurationId1") + .HasColumnType("uuid"); + + b.Property("CastleSiegeConfigurationId2") + .HasColumnType("uuid"); + + b.Property("CastleSiegeConfigurationId3") + .HasColumnType("uuid"); + + b.Property("CastleSiegeConfigurationId4") + .HasColumnType("uuid"); + + b.Property("Level") + .HasColumnType("smallint"); + + b.Property("RequiredJewelOfGuardianCount") + .HasColumnType("integer"); + + b.Property("RequiredZen") + .HasColumnType("integer"); + + b.Property("Value") + .HasColumnType("integer"); + + b.HasKey("Id"); + + b.HasIndex("CastleSiegeConfigurationId"); + + b.HasIndex("CastleSiegeConfigurationId1"); + + b.HasIndex("CastleSiegeConfigurationId2"); + + b.HasIndex("CastleSiegeConfigurationId3"); + + b.HasIndex("CastleSiegeConfigurationId4"); + + b.ToTable("CastleSiegeUpgradeDefinition", "config"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.CastleSiegeZoneDefinition", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("CastleSiegeConfigurationId") + .HasColumnType("uuid"); + + b.Property("CastleSiegeConfigurationId1") + .HasColumnType("uuid"); + + b.Property("X1") + .HasColumnType("smallint"); + + b.Property("X2") + .HasColumnType("smallint"); + + b.Property("Y1") + .HasColumnType("smallint"); + + b.Property("Y2") + .HasColumnType("smallint"); + + b.HasKey("Id"); + + b.HasIndex("CastleSiegeConfigurationId"); + + b.HasIndex("CastleSiegeConfigurationId1"); + + b.ToTable("CastleSiegeZoneDefinition", "config"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.Character", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("AccountId") + .HasColumnType("uuid"); + + b.Property("CharacterClassId") + .HasColumnType("uuid"); + + b.Property("CharacterSlot") + .HasColumnType("smallint"); + + b.Property("CharacterStatus") + .HasColumnType("integer"); + + b.Property("CreateDate") + .HasColumnType("timestamp with time zone"); + + b.Property("CurrentMapId") + .HasColumnType("uuid"); + + b.Property("Experience") + .HasColumnType("bigint"); + + b.Property("InventoryExtensions") + .HasColumnType("integer"); + + b.Property("InventoryId") + .HasColumnType("uuid"); + + b.Property("IsStoreOpened") + .HasColumnType("boolean"); + + b.Property("KeyConfiguration") + .HasColumnType("bytea"); + + b.Property("LevelUpPoints") + .HasColumnType("integer"); + + b.Property("MasterExperience") + .HasColumnType("bigint"); + + b.Property("MasterLevelUpPoints") + .HasColumnType("integer"); + + b.Property("MuHelperConfiguration") + .HasColumnType("bytea"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(10) + .HasColumnType("character varying(10)"); + + b.Property("PlayerKillCount") + .HasColumnType("integer"); + + b.Property("Pose") + .HasColumnType("smallint"); + + b.Property("PositionX") + .HasColumnType("smallint"); + + b.Property("PositionY") + .HasColumnType("smallint"); + + b.Property("State") + .HasColumnType("integer"); + + b.Property("StateRemainingSeconds") + .HasColumnType("integer"); + + b.Property("StoreName") + .HasColumnType("text"); + + b.Property("UsedFruitPoints") + .HasColumnType("integer"); + + b.Property("UsedNegFruitPoints") + .HasColumnType("integer"); + + b.HasKey("Id"); + + b.HasIndex("AccountId"); + + b.HasIndex("CharacterClassId"); + + b.HasIndex("CurrentMapId"); + + b.HasIndex("InventoryId") + .IsUnique(); + + b.HasIndex("Name") + .IsUnique(); + + b.ToTable("Character", "data"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.CharacterClass", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("CanGetCreated") + .HasColumnType("boolean"); + + b.Property("ComboDefinitionId") + .HasColumnType("uuid"); + + b.Property("CreationAllowedFlag") + .HasColumnType("smallint"); + + b.Property("FruitCalculation") + .HasColumnType("integer"); + + b.Property("GameConfigurationId") + .HasColumnType("uuid"); + + b.Property("HomeMapId") + .HasColumnType("uuid"); + + b.Property("IntroducedIn") + .HasColumnType("integer"); + + b.Property("IsActive") + .HasColumnType("boolean"); + + b.Property("IsMasterClass") + .HasColumnType("boolean"); + + b.Property("LevelRequirementByCreation") + .HasColumnType("smallint"); + + b.Property("LevelWarpRequirementReductionPercent") + .HasColumnType("integer"); + + b.Property("Name") + .IsRequired() + .HasColumnType("text"); + + b.Property("NextGenerationClassId") + .HasColumnType("uuid"); + + b.Property("Number") + .HasColumnType("smallint"); + + b.HasKey("Id"); + + b.HasIndex("ComboDefinitionId") + .IsUnique(); + + b.HasIndex("GameConfigurationId"); + + b.HasIndex("HomeMapId"); + + b.HasIndex("NextGenerationClassId"); + + b.ToTable("CharacterClass", "config"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.CharacterDropItemGroup", b => + { + b.Property("CharacterId") + .HasColumnType("uuid"); + + b.Property("DropItemGroupId") + .HasColumnType("uuid"); + + b.HasKey("CharacterId", "DropItemGroupId"); + + b.HasIndex("DropItemGroupId"); + + b.ToTable("CharacterDropItemGroup", "data"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.CharacterQuestState", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("ActiveQuestId") + .HasColumnType("uuid"); + + b.Property("CharacterId") + .HasColumnType("uuid"); + + b.Property("ClientActionPerformed") + .HasColumnType("boolean"); + + b.Property("Group") + .HasColumnType("smallint"); + + b.Property("LastFinishedQuestId") + .HasColumnType("uuid"); + + b.HasKey("Id"); + + b.HasIndex("ActiveQuestId"); + + b.HasIndex("CharacterId"); + + b.HasIndex("LastFinishedQuestId"); + + b.ToTable("CharacterQuestState", "data"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.ChatServerDefinition", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("ClientCleanUpInterval") + .HasColumnType("interval"); + + b.Property("ClientTimeout") + .HasColumnType("interval"); + + b.Property("Description") + .IsRequired() + .HasColumnType("text"); + + b.Property("MaximumConnections") + .HasColumnType("integer"); + + b.Property("RoomCleanUpInterval") + .HasColumnType("interval"); + + b.Property("ServerId") + .HasColumnType("smallint"); + + b.HasKey("Id"); + + b.ToTable("ChatServerDefinition", "config"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.ChatServerEndpoint", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("ChatServerDefinitionId") + .HasColumnType("uuid"); + + b.Property("ClientId") + .HasColumnType("uuid"); + + b.Property("NetworkPort") + .HasColumnType("integer"); + + b.HasKey("Id"); + + b.HasIndex("ChatServerDefinitionId"); + + b.HasIndex("ClientId"); + + b.ToTable("ChatServerEndpoint", "config"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.CombinationBonusRequirement", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("ItemOptionCombinationBonusId") + .HasColumnType("uuid"); + + b.Property("MinimumCount") + .HasColumnType("integer"); + + b.Property("OptionTypeId") + .HasColumnType("uuid"); + + b.Property("SubOptionType") + .HasColumnType("integer"); + + b.HasKey("Id"); + + b.HasIndex("ItemOptionCombinationBonusId"); + + b.HasIndex("OptionTypeId"); + + b.ToTable("CombinationBonusRequirement", "config"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.ConfigurationUpdate", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("CreatedAt") + .HasColumnType("timestamp with time zone"); + + b.Property("Description") + .IsRequired() + .HasColumnType("text"); + + b.Property("InstalledAt") + .HasColumnType("timestamp with time zone"); + + b.Property("Key") + .HasColumnType("uuid"); + + b.Property("Name") + .IsRequired() + .HasColumnType("text"); + + b.Property("UpdatedAt") + .HasColumnType("timestamp with time zone"); + + b.Property("Version") + .HasColumnType("integer"); + + b.HasKey("Id"); + + b.ToTable("ConfigurationUpdate", "config"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.ConfigurationUpdateState", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("InitializationKey") + .HasColumnType("text"); + + b.HasKey("Id"); + + b.ToTable("ConfigurationUpdateState", "config"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.ConnectServerDefinition", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("CheckMaxConnectionsPerAddress") + .HasColumnType("boolean"); + + b.Property("ClientId") + .HasColumnType("uuid"); + + b.Property("ClientListenerPort") + .HasColumnType("integer"); + + b.Property("CurrentPatchVersion") + .HasColumnType("bytea"); + + b.Property("Description") + .IsRequired() + .HasColumnType("text"); + + b.Property("DisconnectOnUnknownPacket") + .HasColumnType("boolean"); + + b.Property("ListenerBacklog") + .HasColumnType("integer"); + + b.Property("MaxConnections") + .HasColumnType("integer"); + + b.Property("MaxConnectionsPerAddress") + .HasColumnType("integer"); + + b.Property("MaxFtpRequests") + .HasColumnType("integer"); + + b.Property("MaxIpRequests") + .HasColumnType("integer"); + + b.Property("MaxServerListRequests") + .HasColumnType("integer"); + + b.Property("MaximumReceiveSize") + .HasColumnType("smallint"); + + b.Property("PatchAddress") + .IsRequired() + .HasColumnType("text"); + + b.Property("ServerId") + .HasColumnType("smallint"); + + b.Property("Timeout") + .HasColumnType("interval"); + + b.HasKey("Id"); + + b.HasIndex("ClientId"); + + b.ToTable("ConnectServerDefinition", "config"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.ConstValueAttribute", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("AggregateType") + .HasColumnType("integer"); + + b.Property("CharacterClassId") + .HasColumnType("uuid"); + + b.Property("DefinitionId") + .HasColumnType("uuid"); + + b.Property("GameConfigurationId") + .HasColumnType("uuid"); + + b.Property("Value") + .HasColumnType("real"); + + b.HasKey("Id"); + + b.HasIndex("CharacterClassId"); + + b.HasIndex("DefinitionId"); + + b.HasIndex("GameConfigurationId"); + + b.ToTable("ConstValueAttribute", "config"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.CrywolfData", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("IsOccupied") + .HasColumnType("boolean"); + + b.Property("IsWarRunning") + .HasColumnType("boolean"); + + b.Property("LastBattleEnd") + .HasColumnType("timestamp with time zone"); + + b.Property("WarStart") + .HasColumnType("timestamp with time zone"); + + b.HasKey("Id"); + + b.ToTable("CrywolfData", "data"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.DropItemGroup", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("Chance") + .HasColumnType("double precision"); + + b.Property("Description") + .IsRequired() + .HasColumnType("text"); + + b.Property("ExcellentOptionsAddChance") + .HasColumnType("real"); + + b.Property("ExcellentOptionsMaximumOptionsPerItem") + .HasColumnType("integer"); + + b.Property("GameConfigurationId") + .HasColumnType("uuid"); + + b.Property("ItemLevel") + .HasColumnType("smallint"); + + b.Property("ItemType") + .HasColumnType("integer"); + + b.Property("MaximumMonsterLevel") + .HasColumnType("smallint"); + + b.Property("MinimumMonsterLevel") + .HasColumnType("smallint"); + + b.Property("MonsterId") + .HasColumnType("uuid"); + + b.HasKey("Id"); + + b.HasIndex("GameConfigurationId"); + + b.HasIndex("MonsterId"); + + b.ToTable("DropItemGroup", "config"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.DropItemGroupItemDefinition", b => + { + b.Property("DropItemGroupId") + .HasColumnType("uuid"); + + b.Property("ItemDefinitionId") + .HasColumnType("uuid"); + + b.HasKey("DropItemGroupId", "ItemDefinitionId"); + + b.HasIndex("ItemDefinitionId"); + + b.ToTable("DropItemGroupItemDefinition", "config"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.DuelArea", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("DuelConfigurationId") + .HasColumnType("uuid"); + + b.Property("FirstPlayerGateId") + .HasColumnType("uuid"); + + b.Property("Index") + .HasColumnType("smallint"); + + b.Property("SecondPlayerGateId") + .HasColumnType("uuid"); + + b.Property("SpectatorsGateId") + .HasColumnType("uuid"); + + b.HasKey("Id"); + + b.HasIndex("DuelConfigurationId"); + + b.HasIndex("FirstPlayerGateId"); + + b.HasIndex("SecondPlayerGateId"); + + b.HasIndex("SpectatorsGateId"); + + b.ToTable("DuelArea", "config"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.DuelConfiguration", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("EntranceFee") + .HasColumnType("integer"); + + b.Property("ExitId") + .HasColumnType("uuid"); + + b.Property("MaximumScore") + .HasColumnType("integer"); + + b.Property("MaximumSpectatorsPerDuelRoom") + .HasColumnType("integer"); + + b.Property("MinimumCharacterLevel") + .HasColumnType("integer"); + + b.HasKey("Id"); + + b.HasIndex("ExitId"); + + b.ToTable("DuelConfiguration", "config"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.EnterGate", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("GameMapDefinitionId") + .HasColumnType("uuid"); + + b.Property("LevelRequirement") + .HasColumnType("smallint"); + + b.Property("Number") + .HasColumnType("smallint"); + + b.Property("TargetGateId") + .HasColumnType("uuid"); + + b.Property("X1") + .HasColumnType("smallint"); + + b.Property("X2") + .HasColumnType("smallint"); + + b.Property("Y1") + .HasColumnType("smallint"); + + b.Property("Y2") + .HasColumnType("smallint"); + + b.HasKey("Id"); + + b.HasIndex("GameMapDefinitionId"); + + b.HasIndex("TargetGateId"); + + b.ToTable("EnterGate", "config"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.ExitGate", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("Direction") + .HasColumnType("integer"); + + b.Property("IsSpawnGate") + .HasColumnType("boolean"); + + b.Property("MapId") + .HasColumnType("uuid"); + + b.Property("X1") + .HasColumnType("smallint"); + + b.Property("X2") + .HasColumnType("smallint"); + + b.Property("Y1") + .HasColumnType("smallint"); + + b.Property("Y2") + .HasColumnType("smallint"); + + b.HasKey("Id"); + + b.HasIndex("MapId"); + + b.ToTable("ExitGate", "config"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.Friend", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("Accepted") + .HasColumnType("boolean"); + + b.Property("CharacterId") + .HasColumnType("uuid"); + + b.Property("FriendId") + .HasColumnType("uuid"); + + b.Property("RequestOpen") + .HasColumnType("boolean"); + + b.HasKey("Id"); + + b.HasAlternateKey("CharacterId", "FriendId"); + + b.ToTable("Friend", "friend"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.GameClientDefinition", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("Description") + .IsRequired() + .HasColumnType("text"); + + b.Property("Episode") + .HasColumnType("smallint"); + + b.Property("Language") + .HasColumnType("integer"); + + b.Property("Season") + .HasColumnType("smallint"); + + b.Property("Serial") + .HasColumnType("bytea"); + + b.Property("Version") + .HasColumnType("bytea"); + + b.HasKey("Id"); + + b.ToTable("GameClientDefinition", "config"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.GameConfiguration", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("AncientDropLevelBonus") + .HasColumnType("smallint"); + + b.Property("AreaSkillHitsPlayer") + .HasColumnType("boolean"); + + b.Property("CashShopConfigurationId") + .HasColumnType("uuid"); + + b.Property("CastleSiegeConfigurationId") + .HasColumnType("uuid"); + + b.Property("CharacterNameRegex") + .HasColumnType("text"); + + b.Property("ClampMoneyOnPickup") + .HasColumnType("boolean"); + + b.Property("DamagePerOneItemDurability") + .HasColumnType("double precision"); + + b.Property("DamagePerOnePetDurability") + .HasColumnType("double precision"); + + b.Property("DuelConfigurationId") + .HasColumnType("uuid"); + + b.Property("ExcellentDropLevelBonus") + .HasColumnType("smallint"); + + b.Property("ExcellentItemDropLevelDelta") + .ValueGeneratedOnAdd() + .HasColumnType("smallint") + .HasDefaultValue((byte)25); + + b.Property("ExperienceFormula") + .ValueGeneratedOnAdd() + .HasColumnType("text") + .HasDefaultValue("if(level == 0, 0, if(level < 256, 10 * (level + 8) * (level - 1) * (level - 1), (10 * (level + 8) * (level - 1) * (level - 1)) + (1000 * (level - 247) * (level - 256) * (level - 256))))"); + + b.Property("ExperienceRate") + .HasColumnType("real"); + + b.Property("HitsPerOneItemDurability") + .HasColumnType("double precision"); + + b.Property("InfoRange") + .HasColumnType("smallint"); + + b.Property("ItemDropDuration") + .ValueGeneratedOnAdd() + .HasColumnType("interval") + .HasDefaultValue(new TimeSpan(0, 0, 1, 0, 0)); + + b.Property("LetterSendPrice") + .HasColumnType("integer"); + + b.Property("MasterExperienceFormula") + .ValueGeneratedOnAdd() + .HasColumnType("text") + .HasDefaultValue("(505 * level * level * level) + (35278500 * level) + (228045 * level * level)"); + + b.Property("MasterExperienceRate") + .HasColumnType("real"); + + b.Property("MaximumCharactersPerAccount") + .HasColumnType("smallint"); + + b.Property("MaximumInventoryMoney") + .HasColumnType("integer"); + + b.Property("MaximumItemOptionLevelDrop") + .HasColumnType("smallint"); + + b.Property("MaximumLetters") + .HasColumnType("integer"); + + b.Property("MaximumLevel") + .HasColumnType("smallint"); + + b.Property("MaximumMasterLevel") + .HasColumnType("smallint"); + + b.Property("MaximumPartySize") + .HasColumnType("smallint"); + + b.Property("MaximumPasswordLength") + .HasColumnType("integer"); + + b.Property("MaximumVaultMoney") + .HasColumnType("integer"); + + b.Property("MinimumMonsterLevelForMasterExperience") + .HasColumnType("smallint"); + + b.Property("PreventExperienceOverflow") + .HasColumnType("boolean"); + + b.Property("RecoveryInterval") + .HasColumnType("integer"); + + b.Property("ShouldDropMoney") + .HasColumnType("boolean"); + + b.HasKey("Id"); + + b.HasIndex("CashShopConfigurationId") + .IsUnique(); + + b.HasIndex("CastleSiegeConfigurationId") + .IsUnique(); + + b.HasIndex("DuelConfigurationId") + .IsUnique(); + + b.ToTable("GameConfiguration", "config"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.GameMapDefinition", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("BattleZoneId") + .HasColumnType("uuid"); + + b.Property("Discriminator") + .HasColumnType("integer"); + + b.Property("ExpMultiplier") + .HasColumnType("double precision"); + + b.Property("GameConfigurationId") + .HasColumnType("uuid"); + + b.Property("IntroducedIn") + .HasColumnType("integer"); + + b.Property("IsActive") + .HasColumnType("boolean"); + + b.Property("Name") + .IsRequired() + .HasColumnType("text"); + + b.Property("Number") + .HasColumnType("smallint"); + + b.Property("SafezoneMapId") + .HasColumnType("uuid"); + + b.Property("TerrainData") + .HasColumnType("bytea"); + + b.HasKey("Id"); + + b.HasIndex("BattleZoneId") + .IsUnique(); + + b.HasIndex("GameConfigurationId"); + + b.HasIndex("SafezoneMapId"); + + b.ToTable("GameMapDefinition", "config"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.GameMapDefinitionDropItemGroup", b => + { + b.Property("GameMapDefinitionId") + .HasColumnType("uuid"); + + b.Property("DropItemGroupId") + .HasColumnType("uuid"); + + b.HasKey("GameMapDefinitionId", "DropItemGroupId"); + + b.HasIndex("DropItemGroupId"); + + b.ToTable("GameMapDefinitionDropItemGroup", "config"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.GameMapTerrainVariant", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("Description") + .IsRequired() + .HasColumnType("text"); + + b.Property("GameMapDefinitionId") + .HasColumnType("uuid"); + + b.Property("Number") + .HasColumnType("smallint"); + + b.Property("TerrainData") + .HasColumnType("bytea"); + + b.HasKey("Id"); + + b.HasIndex("GameMapDefinitionId"); + + b.ToTable("GameMapTerrainVariant", "config"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.GameServerConfiguration", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("MaximumPlayers") + .HasColumnType("smallint"); + + b.HasKey("Id"); + + b.ToTable("GameServerConfiguration", "config"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.GameServerConfigurationGameMapDefinition", b => + { + b.Property("GameServerConfigurationId") + .HasColumnType("uuid"); + + b.Property("GameMapDefinitionId") + .HasColumnType("uuid"); + + b.HasKey("GameServerConfigurationId", "GameMapDefinitionId"); + + b.HasIndex("GameMapDefinitionId"); + + b.ToTable("GameServerConfigurationGameMapDefinition", "config"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.GameServerDefinition", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("Description") + .IsRequired() + .HasColumnType("text"); + + b.Property("ExperienceRate") + .HasColumnType("real"); + + b.Property("GameConfigurationId") + .HasColumnType("uuid"); + + b.Property("PvpEnabled") + .ValueGeneratedOnAdd() + .HasColumnType("boolean") + .HasDefaultValue(true); + + b.Property("ServerConfigurationId") + .HasColumnType("uuid"); + + b.Property("ServerID") + .HasColumnType("smallint"); + + b.HasKey("Id"); + + b.HasIndex("GameConfigurationId"); + + b.HasIndex("ServerConfigurationId"); + + b.ToTable("GameServerDefinition", "config"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.GameServerEndpoint", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("AlternativePublishedPort") + .HasColumnType("integer"); + + b.Property("ClientId") + .HasColumnType("uuid"); + + b.Property("GameServerDefinitionId") + .HasColumnType("uuid"); + + b.Property("NetworkPort") + .HasColumnType("integer"); + + b.HasKey("Id"); + + b.HasIndex("ClientId"); + + b.HasIndex("GameServerDefinitionId"); + + b.ToTable("GameServerEndpoint", "config"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.GensAbuse", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("KillCount") + .HasColumnType("integer"); + + b.Property("KillerId") + .HasColumnType("uuid"); + + b.Property("LastKillAt") + .HasColumnType("timestamp with time zone"); + + b.Property("VictimId") + .HasColumnType("uuid"); + + b.HasKey("Id"); + + b.HasIndex("VictimId"); + + b.HasIndex("KillerId", "VictimId") + .IsUnique(); + + b.ToTable("GensAbuse", "data"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.GensMember", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("CharacterId") + .HasColumnType("uuid"); + + b.Property("Contribution") + .HasColumnType("integer"); + + b.Property("Gens") + .HasColumnType("integer"); + + b.Property("JoinedAt") + .HasColumnType("timestamp with time zone"); + + b.Property("LeftAt") + .HasColumnType("timestamp with time zone"); + + b.Property("Rank") + .HasColumnType("smallint"); + + b.Property("RankingPosition") + .HasColumnType("integer"); + + b.Property("RewardClaimedAt") + .HasColumnType("timestamp with time zone"); + + b.HasKey("Id"); + + b.HasIndex("CharacterId") + .IsUnique(); + + b.ToTable("GensMember", "data"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.Guild", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("AllianceGuildId") + .HasColumnType("uuid"); + + b.Property("HostilityId") + .HasColumnType("uuid"); + + b.Property("Logo") + .HasColumnType("bytea"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(8) + .HasColumnType("character varying(8)"); + + b.Property("Notice") + .HasColumnType("text"); + + b.Property("Score") + .HasColumnType("integer"); + + b.HasKey("Id"); + + b.HasIndex("AllianceGuildId"); + + b.HasIndex("HostilityId"); + + b.HasIndex("Name") + .IsUnique(); + + b.ToTable("Guild", "guild"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.GuildChatBinding", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("BoundAt") + .HasColumnType("timestamp with time zone"); + + b.Property("BoundBy") + .HasColumnType("text"); + + b.Property("ExternalChannelId") + .IsRequired() + .HasColumnType("text"); + + b.Property("ExternalServerId") + .IsRequired() + .HasColumnType("text"); + + b.Property("GuildId") + .HasColumnType("uuid"); + + b.Property("IsHosted") + .HasColumnType("boolean"); + + b.Property("Provider") + .IsRequired() + .HasColumnType("text"); + + b.Property("Scope") + .HasColumnType("integer"); + + b.HasKey("Id"); + + b.HasIndex("Provider", "ExternalChannelId") + .IsUnique(); + + b.HasIndex("GuildId", "Scope", "Provider") + .IsUnique(); + + b.ToTable("GuildChatBinding", "data"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.GuildMember", b => + { + b.Property("Id") + .HasColumnType("uuid"); + + b.Property("GuildId") + .HasColumnType("uuid"); + + b.Property("Status") + .HasColumnType("smallint"); + + b.HasKey("Id"); + + b.HasIndex("GuildId"); + + b.ToTable("GuildMember", "guild"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.IncreasableItemOption", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("ItemOptionDefinitionId") + .HasColumnType("uuid"); + + b.Property("LevelType") + .HasColumnType("integer"); + + b.Property("Number") + .HasColumnType("integer"); + + b.Property("OptionTypeId") + .HasColumnType("uuid"); + + b.Property("PowerUpDefinitionId") + .HasColumnType("uuid"); + + b.Property("SubOptionType") + .HasColumnType("integer"); + + b.Property("Weight") + .HasColumnType("smallint"); + + b.HasKey("Id"); + + b.HasIndex("ItemOptionDefinitionId"); + + b.HasIndex("OptionTypeId"); + + b.HasIndex("PowerUpDefinitionId") + .IsUnique(); + + b.ToTable("IncreasableItemOption", "config"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.Item", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("DefinitionId") + .HasColumnType("uuid"); + + b.Property("Durability") + .HasColumnType("double precision"); + + b.Property("HasSkill") + .HasColumnType("boolean"); + + b.Property("ItemSlot") + .HasColumnType("smallint"); + + b.Property("ItemStorageId") + .HasColumnType("uuid"); + + b.Property("Level") + .HasColumnType("smallint"); + + b.Property("PetExperience") + .HasColumnType("integer"); + + b.Property("SocketCount") + .HasColumnType("integer"); + + b.Property("StorePrice") + .HasColumnType("integer"); + + b.Property("StorePriceCoinType") + .HasColumnType("integer"); + + b.Property("StorePriceItemDefinitionId") + .HasColumnType("uuid"); + + b.HasKey("Id"); + + b.HasIndex("DefinitionId"); + + b.HasIndex("ItemStorageId"); + + b.HasIndex("StorePriceItemDefinitionId"); + + b.ToTable("Item", "data"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.ItemAppearance", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("AppearanceDataId") + .HasColumnType("uuid"); + + b.Property("DefinitionId") + .HasColumnType("uuid"); + + b.Property("ItemSlot") + .HasColumnType("smallint"); + + b.Property("Level") + .HasColumnType("smallint"); + + b.HasKey("Id"); + + b.HasIndex("AppearanceDataId"); + + b.HasIndex("DefinitionId"); + + b.ToTable("ItemAppearance", "data"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.ItemAppearanceItemOptionType", b => + { + b.Property("ItemAppearanceId") + .HasColumnType("uuid"); + + b.Property("ItemOptionTypeId") + .HasColumnType("uuid"); + + b.HasKey("ItemAppearanceId", "ItemOptionTypeId"); + + b.HasIndex("ItemOptionTypeId"); + + b.ToTable("ItemAppearanceItemOptionType", "data"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.ItemBasePowerUpDefinition", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("AggregateType") + .HasColumnType("integer"); + + b.Property("BaseValue") + .HasColumnType("real"); + + b.Property("BonusPerLevelTableId") + .HasColumnType("uuid"); + + b.Property("ItemDefinitionId") + .HasColumnType("uuid"); + + b.Property("TargetAttributeId") + .HasColumnType("uuid"); + + b.HasKey("Id"); + + b.HasIndex("BonusPerLevelTableId"); + + b.HasIndex("ItemDefinitionId"); + + b.HasIndex("TargetAttributeId"); + + b.ToTable("ItemBasePowerUpDefinition", "config"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.ItemCrafting", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("ItemCraftingHandlerClassName") + .IsRequired() + .HasColumnType("text"); + + b.Property("MonsterDefinitionId") + .HasColumnType("uuid"); + + b.Property("Name") + .IsRequired() + .HasColumnType("text"); + + b.Property("Number") + .HasColumnType("smallint"); + + b.Property("SimpleCraftingSettingsId") + .HasColumnType("uuid"); + + b.HasKey("Id"); + + b.HasIndex("MonsterDefinitionId"); + + b.HasIndex("SimpleCraftingSettingsId") + .IsUnique(); + + b.ToTable("ItemCrafting", "config"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.ItemCraftingRequiredItem", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("AddPercentage") + .HasColumnType("smallint"); + + b.Property("FailResult") + .HasColumnType("integer"); + + b.Property("MaximumAmount") + .HasColumnType("smallint"); + + b.Property("MaximumItemLevel") + .HasColumnType("smallint"); + + b.Property("MinimumAmount") + .HasColumnType("smallint"); + + b.Property("MinimumItemLevel") + .HasColumnType("smallint"); + + b.Property("NpcPriceDivisor") + .HasColumnType("integer"); + + b.Property("Reference") + .HasColumnType("smallint"); + + b.Property("SimpleCraftingSettingsId") + .HasColumnType("uuid"); + + b.Property("SuccessResult") + .HasColumnType("integer"); + + b.HasKey("Id"); + + b.HasIndex("SimpleCraftingSettingsId"); + + b.ToTable("ItemCraftingRequiredItem", "config"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.ItemCraftingRequiredItemItemDefinition", b => + { + b.Property("ItemCraftingRequiredItemId") + .HasColumnType("uuid"); + + b.Property("ItemDefinitionId") + .HasColumnType("uuid"); + + b.HasKey("ItemCraftingRequiredItemId", "ItemDefinitionId"); + + b.HasIndex("ItemDefinitionId"); + + b.ToTable("ItemCraftingRequiredItemItemDefinition", "config"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.ItemCraftingRequiredItemItemOptionType", b => + { + b.Property("ItemCraftingRequiredItemId") + .HasColumnType("uuid"); + + b.Property("ItemOptionTypeId") + .HasColumnType("uuid"); + + b.HasKey("ItemCraftingRequiredItemId", "ItemOptionTypeId"); + + b.HasIndex("ItemOptionTypeId"); + + b.ToTable("ItemCraftingRequiredItemItemOptionType", "config"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.ItemCraftingResultItem", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("AddLevel") + .HasColumnType("smallint"); + + b.Property("Durability") + .HasColumnType("smallint"); + + b.Property("ItemDefinitionId") + .HasColumnType("uuid"); + + b.Property("RandomMaximumLevel") + .HasColumnType("smallint"); + + b.Property("RandomMinimumLevel") + .HasColumnType("smallint"); + + b.Property("Reference") + .HasColumnType("smallint"); + + b.Property("SimpleCraftingSettingsId") + .HasColumnType("uuid"); + + b.HasKey("Id"); + + b.HasIndex("ItemDefinitionId"); + + b.HasIndex("SimpleCraftingSettingsId"); + + b.ToTable("ItemCraftingResultItem", "config"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.ItemDefinition", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("ConsumeEffectId") + .HasColumnType("uuid"); + + b.Property("DropLevel") + .HasColumnType("smallint"); + + b.Property("DropsFromMonsters") + .HasColumnType("boolean"); + + b.Property("Durability") + .HasColumnType("smallint"); + + b.Property("ExcellentBonus") + .HasColumnType("smallint"); + + b.Property("ExcellentRaisesLevel") + .HasColumnType("boolean"); + + b.Property("GameConfigurationId") + .HasColumnType("uuid"); + + b.Property("Group") + .HasColumnType("smallint"); + + b.Property("Height") + .HasColumnType("smallint"); + + b.Property("IntroducedIn") + .HasColumnType("integer"); + + b.Property("IsActive") + .HasColumnType("boolean"); + + b.Property("IsAmmunition") + .HasColumnType("boolean"); + + b.Property("IsBoundToCharacter") + .HasColumnType("boolean"); + + b.Property("IsDroppable") + .HasColumnType("boolean"); + + b.Property("IsPersonalStoreSellable") + .HasColumnType("boolean"); + + b.Property("IsQuestItem") + .HasColumnType("boolean"); + + b.Property("IsRepairable") + .HasColumnType("boolean"); + + b.Property("IsSellableToNpc") + .HasColumnType("boolean"); + + b.Property("IsStorable") + .HasColumnType("boolean"); + + b.Property("IsTradable") + .HasColumnType("boolean"); + + b.Property("ItemSlotId") + .HasColumnType("uuid"); + + b.Property("MaximumDropLevel") + .HasColumnType("smallint"); + + b.Property("MaximumItemLevel") + .HasColumnType("smallint"); + + b.Property("MaximumSockets") + .HasColumnType("integer"); + + b.Property("Name") + .IsRequired() + .HasColumnType("text"); + + b.Property("Number") + .HasColumnType("smallint"); + + b.Property("PetExperienceFormula") + .HasColumnType("text"); + + b.Property("PriceDefinitionId") + .HasColumnType("uuid"); + + b.Property("SkillId") + .HasColumnType("uuid"); + + b.Property("StatProfileId") + .HasColumnType("uuid"); + + b.Property("StorageLimitPerCharacter") + .HasColumnType("integer"); + + b.Property("Value") + .HasColumnType("integer"); + + b.Property("Width") + .HasColumnType("smallint"); + + b.HasKey("Id"); + + b.HasIndex("ConsumeEffectId"); + + b.HasIndex("GameConfigurationId"); + + b.HasIndex("ItemSlotId"); + + b.HasIndex("PriceDefinitionId"); + + b.HasIndex("SkillId"); + + b.HasIndex("StatProfileId"); + + b.ToTable("ItemDefinition", "config"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.ItemDefinitionCharacterClass", b => + { + b.Property("ItemDefinitionId") + .HasColumnType("uuid"); + + b.Property("CharacterClassId") + .HasColumnType("uuid"); + + b.HasKey("ItemDefinitionId", "CharacterClassId"); + + b.HasIndex("CharacterClassId"); + + b.ToTable("ItemDefinitionCharacterClass", "config"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.ItemDefinitionItemOptionDefinition", b => + { + b.Property("ItemDefinitionId") + .HasColumnType("uuid"); + + b.Property("ItemOptionDefinitionId") + .HasColumnType("uuid"); + + b.HasKey("ItemDefinitionId", "ItemOptionDefinitionId"); + + b.HasIndex("ItemOptionDefinitionId"); + + b.ToTable("ItemDefinitionItemOptionDefinition", "config"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.ItemDefinitionItemSetGroup", b => + { + b.Property("ItemDefinitionId") + .HasColumnType("uuid"); + + b.Property("ItemSetGroupId") + .HasColumnType("uuid"); + + b.HasKey("ItemDefinitionId", "ItemSetGroupId"); + + b.HasIndex("ItemSetGroupId"); + + b.ToTable("ItemDefinitionItemSetGroup", "config"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.ItemDropItemGroup", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("Chance") + .HasColumnType("double precision"); + + b.Property("Description") + .IsRequired() + .HasColumnType("text"); + + b.Property("DropEffect") + .HasColumnType("integer"); + + b.Property("ExcellentOptionsAddChance") + .HasColumnType("real"); + + b.Property("ExcellentOptionsMaximumOptionsPerItem") + .HasColumnType("integer"); + + b.Property("ItemDefinitionId") + .HasColumnType("uuid"); + + b.Property("ItemLevel") + .HasColumnType("smallint"); + + b.Property("ItemType") + .HasColumnType("integer"); + + b.Property("MaximumLevel") + .HasColumnType("smallint"); + + b.Property("MaximumMonsterLevel") + .HasColumnType("smallint"); + + b.Property("MinimumLevel") + .HasColumnType("smallint"); + + b.Property("MinimumMonsterLevel") + .HasColumnType("smallint"); + + b.Property("MoneyAmount") + .HasColumnType("integer"); + + b.Property("MonsterId") + .HasColumnType("uuid"); + + b.Property("RequiredCharacterLevel") + .HasColumnType("smallint"); + + b.Property("SourceItemLevel") + .HasColumnType("smallint"); + + b.HasKey("Id"); + + b.HasIndex("ItemDefinitionId"); + + b.HasIndex("MonsterId"); + + b.ToTable("ItemDropItemGroup", "config"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.ItemDropItemGroupItemDefinition", b => + { + b.Property("ItemDropItemGroupId") + .HasColumnType("uuid"); + + b.Property("ItemDefinitionId") + .HasColumnType("uuid"); + + b.HasKey("ItemDropItemGroupId", "ItemDefinitionId"); + + b.HasIndex("ItemDefinitionId"); + + b.ToTable("ItemDropItemGroupItemDefinition", "config"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.ItemItemOfItemSet", b => + { + b.Property("ItemId") + .HasColumnType("uuid"); + + b.Property("ItemOfItemSetId") + .HasColumnType("uuid"); + + b.HasKey("ItemId", "ItemOfItemSetId"); + + b.HasIndex("ItemOfItemSetId"); + + b.ToTable("ItemItemOfItemSet", "data"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.ItemLevelBonusTable", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("Description") + .IsRequired() + .HasColumnType("text"); + + b.Property("GameConfigurationId") + .HasColumnType("uuid"); + + b.Property("Name") + .IsRequired() + .HasColumnType("text"); + + b.HasKey("Id"); + + b.HasIndex("GameConfigurationId"); + + b.ToTable("ItemLevelBonusTable", "config"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.ItemLevelPrice", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("ItemPriceDefinitionId") + .HasColumnType("uuid"); + + b.Property("Level") + .HasColumnType("integer"); + + b.Property("Price") + .HasColumnType("bigint"); + + b.HasKey("Id"); + + b.HasIndex("ItemPriceDefinitionId"); + + b.ToTable("ItemLevelPrice", "config"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.ItemOfItemSet", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("AncientSetDiscriminator") + .HasColumnType("integer"); + + b.Property("BonusOptionId") + .HasColumnType("uuid"); + + b.Property("ItemDefinitionId") + .HasColumnType("uuid"); + + b.Property("ItemSetGroupId") + .HasColumnType("uuid"); + + b.HasKey("Id"); + + b.HasIndex("BonusOptionId"); + + b.HasIndex("ItemDefinitionId"); + + b.HasIndex("ItemSetGroupId"); + + b.ToTable("ItemOfItemSet", "config"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.ItemOption", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("Number") + .HasColumnType("integer"); + + b.Property("OptionTypeId") + .HasColumnType("uuid"); + + b.Property("PowerUpDefinitionId") + .HasColumnType("uuid"); + + b.Property("SubOptionType") + .HasColumnType("integer"); + + b.HasKey("Id"); + + b.HasIndex("OptionTypeId"); + + b.HasIndex("PowerUpDefinitionId") + .IsUnique(); + + b.ToTable("ItemOption", "config"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.ItemOptionCombinationBonus", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("AppliesMultipleTimes") + .HasColumnType("boolean"); + + b.Property("BonusId") + .HasColumnType("uuid"); + + b.Property("Description") + .IsRequired() + .HasColumnType("text"); + + b.Property("GameConfigurationId") + .HasColumnType("uuid"); + + b.Property("Number") + .HasColumnType("integer"); + + b.HasKey("Id"); + + b.HasIndex("BonusId") + .IsUnique(); + + b.HasIndex("GameConfigurationId"); + + b.ToTable("ItemOptionCombinationBonus", "config"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.ItemOptionDefinition", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("AddChance") + .HasColumnType("real"); + + b.Property("AddsRandomly") + .HasColumnType("boolean"); + + b.Property("GameConfigurationId") + .HasColumnType("uuid"); + + b.Property("MaximumOptionsPerItem") + .HasColumnType("integer"); + + b.Property("Name") + .IsRequired() + .HasColumnType("text"); + + b.HasKey("Id"); + + b.HasIndex("GameConfigurationId"); + + b.ToTable("ItemOptionDefinition", "config"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.ItemOptionLink", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("Index") + .HasColumnType("integer"); + + b.Property("ItemId") + .HasColumnType("uuid"); + + b.Property("ItemOptionId") + .HasColumnType("uuid"); + + b.Property("Level") + .HasColumnType("integer"); + + b.HasKey("Id"); + + b.HasIndex("ItemId"); + + b.HasIndex("ItemOptionId"); + + b.ToTable("ItemOptionLink", "data"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.ItemOptionOfLevel", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("IncreasableItemOptionId") + .HasColumnType("uuid"); + + b.Property("Level") + .HasColumnType("integer"); + + b.Property("PowerUpDefinitionId") + .HasColumnType("uuid"); + + b.Property("RequiredItemLevel") + .HasColumnType("integer"); + + b.HasKey("Id"); + + b.HasIndex("IncreasableItemOptionId"); + + b.HasIndex("PowerUpDefinitionId") + .IsUnique(); + + b.ToTable("ItemOptionOfLevel", "config"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.ItemOptionType", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("Description") + .IsRequired() + .HasColumnType("text"); + + b.Property("GameConfigurationId") + .HasColumnType("uuid"); + + b.Property("IsVisible") + .HasColumnType("boolean"); + + b.Property("Name") + .IsRequired() + .HasColumnType("text"); + + b.HasKey("Id"); + + b.HasIndex("GameConfigurationId"); + + b.ToTable("ItemOptionType", "config"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.ItemPriceDefinition", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("BasePriceFormula") + .HasColumnType("text"); + + b.Property("CraftingReferencePrice") + .HasColumnType("bigint"); + + b.Property("GameConfigurationId") + .HasColumnType("uuid"); + + b.Property("Modifiers") + .HasColumnType("integer"); + + b.Property("Name") + .IsRequired() + .HasColumnType("text"); + + b.Property("QuantityScaling") + .HasColumnType("integer"); + + b.Property("SellingPriceRounding") + .HasColumnType("integer"); + + b.HasKey("Id"); + + b.HasIndex("GameConfigurationId"); + + b.ToTable("ItemPriceDefinition", "config"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.ItemRequirementFormula", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("Add") + .HasColumnType("integer"); + + b.Property("AttributeId") + .HasColumnType("uuid"); + + b.Property("ItemStatProfileId") + .HasColumnType("uuid"); + + b.Property("KeepBase") + .HasColumnType("boolean"); + + b.Property("LevelRequirementBasis") + .HasColumnType("boolean"); + + b.Property("LevelWeight") + .HasColumnType("integer"); + + b.Property("Percent") + .HasColumnType("integer"); + + b.HasKey("Id"); + + b.HasIndex("AttributeId"); + + b.HasIndex("ItemStatProfileId", "AttributeId") + .IsUnique(); + + b.ToTable("ItemRequirementFormula", "config"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.ItemSetGroup", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("AlwaysApplies") + .HasColumnType("boolean"); + + b.Property("CountDistinct") + .HasColumnType("boolean"); + + b.Property("GameConfigurationId") + .HasColumnType("uuid"); + + b.Property("MinimumItemCount") + .HasColumnType("integer"); + + b.Property("Name") + .IsRequired() + .HasColumnType("text"); + + b.Property("OptionsId") + .HasColumnType("uuid"); + + b.Property("SetLevel") + .HasColumnType("integer"); + + b.HasKey("Id"); + + b.HasIndex("GameConfigurationId"); + + b.HasIndex("OptionsId"); + + b.ToTable("ItemSetGroup", "config"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.ItemSlotType", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("Description") + .IsRequired() + .HasColumnType("text"); + + b.Property("GameConfigurationId") + .HasColumnType("uuid"); + + b.Property("RawItemSlots") + .HasColumnType("text") + .HasColumnName("ItemSlots") + .HasJsonPropertyName("itemSlots"); + + b.HasKey("Id"); + + b.HasIndex("GameConfigurationId"); + + b.ToTable("ItemSlotType", "config"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.ItemStatProfile", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("ExcellentLevelAdd") + .HasColumnType("integer"); + + b.Property("GameConfigurationId") + .HasColumnType("uuid"); + + b.Property("LevelPerItemLevel") + .HasColumnType("integer"); + + b.Property("Name") + .IsRequired() + .HasColumnType("text"); + + b.Property("StrengthPerOptionLevel") + .HasColumnType("integer"); + + b.HasKey("Id"); + + b.HasIndex("GameConfigurationId", "Name") + .IsUnique(); + + b.ToTable("ItemStatProfile", "config"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.ItemStatTerms", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("AncientAdd") + .HasColumnType("integer"); + + b.Property("AncientAfterLevelBonus") + .HasColumnType("boolean"); + + b.Property("AncientDropLevelDivisor") + .HasColumnType("integer"); + + b.Property("AncientState") + .HasColumnType("integer"); + + b.Property("AncientTimes") + .HasColumnType("integer"); + + b.Property("AttributeId") + .HasColumnType("uuid"); + + b.Property("ExcellentAdd") + .HasColumnType("integer"); + + b.Property("ExcellentDropLevelDivisor") + .HasColumnType("integer"); + + b.Property("ExcellentState") + .HasColumnType("integer"); + + b.Property("ExcellentTimes") + .HasColumnType("integer"); + + b.Property("ItemStatProfileId") + .HasColumnType("uuid"); + + b.Property("PerLevelAfterHalving") + .HasColumnType("integer"); + + b.Property("TableId") + .HasColumnType("uuid"); + + b.Property("TableState") + .HasColumnType("integer"); + + b.HasKey("Id"); + + b.HasIndex("AttributeId"); + + b.HasIndex("TableId"); + + b.HasIndex("ItemStatProfileId", "AttributeId") + .IsUnique(); + + b.ToTable("ItemStatTerms", "config"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.ItemStorage", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("Money") + .HasColumnType("integer"); + + b.HasKey("Id"); + + b.ToTable("ItemStorage", "data"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.JewelMix", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("GameConfigurationId") + .HasColumnType("uuid"); + + b.Property("MixedJewelId") + .HasColumnType("uuid"); + + b.Property("Number") + .HasColumnType("smallint"); + + b.Property("SingleJewelId") + .HasColumnType("uuid"); + + b.HasKey("Id"); + + b.HasIndex("GameConfigurationId"); + + b.HasIndex("MixedJewelId"); + + b.HasIndex("SingleJewelId"); + + b.ToTable("JewelMix", "config"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.LetterBody", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("Animation") + .HasColumnType("smallint"); + + b.Property("HeaderId") + .HasColumnType("uuid"); + + b.Property("Message") + .IsRequired() + .HasColumnType("text"); + + b.Property("Rotation") + .HasColumnType("smallint"); + + b.Property("SenderAppearanceId") + .HasColumnType("uuid"); + + b.HasKey("Id"); + + b.HasIndex("HeaderId"); + + b.HasIndex("SenderAppearanceId") + .IsUnique(); + + b.ToTable("LetterBody", "data"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.LetterHeader", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("LetterDate") + .HasColumnType("timestamp with time zone"); + + b.Property("ReadFlag") + .HasColumnType("boolean"); + + b.Property("ReceiverId") + .HasColumnType("uuid"); + + b.Property("SenderName") + .HasColumnType("text"); + + b.Property("Subject") + .HasColumnType("text"); + + b.HasKey("Id"); + + b.HasIndex("ReceiverId"); + + b.ToTable("LetterHeader", "data"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.LevelBonus", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("AdditionalValue") + .HasColumnType("real"); + + b.Property("ItemLevelBonusTableId") + .HasColumnType("uuid"); + + b.Property("Level") + .HasColumnType("integer"); + + b.HasKey("Id"); + + b.HasIndex("ItemLevelBonusTableId"); + + b.ToTable("LevelBonus", "config"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.MagicEffectDefinition", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("ChanceId") + .HasColumnType("uuid"); + + b.Property("ChancePvpId") + .HasColumnType("uuid"); + + b.Property("DurationDependsOnTargetLevel") + .HasColumnType("boolean"); + + b.Property("DurationId") + .HasColumnType("uuid"); + + b.Property("DurationPvpId") + .HasColumnType("uuid"); + + b.Property("GameConfigurationId") + .HasColumnType("uuid"); + + b.Property("InformObservers") + .HasColumnType("boolean"); + + b.Property("MonsterTargetLevelDivisor") + .HasColumnType("real"); + + b.Property("Name") + .IsRequired() + .HasColumnType("text"); + + b.Property("Number") + .HasColumnType("smallint"); + + b.Property("PlayerTargetLevelDivisor") + .HasColumnType("real"); + + b.Property("SendDuration") + .HasColumnType("boolean"); + + b.Property("StopByDeath") + .HasColumnType("boolean"); + + b.Property("SubType") + .HasColumnType("smallint"); + + b.HasKey("Id"); + + b.HasIndex("ChanceId") + .IsUnique(); + + b.HasIndex("ChancePvpId") + .IsUnique(); + + b.HasIndex("DurationId") + .IsUnique(); + + b.HasIndex("DurationPvpId") + .IsUnique(); + + b.HasIndex("GameConfigurationId"); + + b.ToTable("MagicEffectDefinition", "config"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.MasterSkillDefinition", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("Aggregation") + .HasColumnType("integer"); + + b.Property("DisplayValueFormula") + .IsRequired() + .HasColumnType("text"); + + b.Property("ExtendsDuration") + .HasColumnType("boolean"); + + b.Property("MaximumLevel") + .HasColumnType("smallint"); + + b.Property("MinimumLevel") + .HasColumnType("smallint"); + + b.Property("Rank") + .HasColumnType("smallint"); + + b.Property("ReplacedSkillId") + .HasColumnType("uuid"); + + b.Property("RootId") + .HasColumnType("uuid"); + + b.Property("TargetAttributeId") + .HasColumnType("uuid"); + + b.Property("ValueFormula") + .IsRequired() + .HasColumnType("text"); + + b.HasKey("Id"); + + b.HasIndex("ReplacedSkillId"); + + b.HasIndex("RootId"); + + b.HasIndex("TargetAttributeId"); + + b.ToTable("MasterSkillDefinition", "config"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.MasterSkillDefinitionSkill", b => + { + b.Property("MasterSkillDefinitionId") + .HasColumnType("uuid"); + + b.Property("SkillId") + .HasColumnType("uuid"); + + b.HasKey("MasterSkillDefinitionId", "SkillId"); + + b.HasIndex("SkillId"); + + b.ToTable("MasterSkillDefinitionSkill", "config"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.MasterSkillRoot", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("GameConfigurationId") + .HasColumnType("uuid"); + + b.Property("Name") + .IsRequired() + .HasColumnType("text"); + + b.HasKey("Id"); + + b.HasIndex("GameConfigurationId"); + + b.ToTable("MasterSkillRoot", "config"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.MiniGameChangeEvent", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("Description") + .IsRequired() + .HasColumnType("text"); + + b.Property("Index") + .HasColumnType("integer"); + + b.Property("Message") + .IsRequired() + .HasColumnType("text"); + + b.Property("MiniGameDefinitionId") + .HasColumnType("uuid"); + + b.Property("MinimumTargetLevel") + .HasColumnType("smallint"); + + b.Property("MultiplyKillsByPlayers") + .HasColumnType("boolean"); + + b.Property("NumberOfKills") + .HasColumnType("smallint"); + + b.Property("SpawnAreaId") + .HasColumnType("uuid"); + + b.Property("Target") + .HasColumnType("integer"); + + b.Property("TargetDefinitionId") + .HasColumnType("uuid"); + + b.HasKey("Id"); + + b.HasIndex("MiniGameDefinitionId"); + + b.HasIndex("SpawnAreaId") + .IsUnique(); + + b.HasIndex("TargetDefinitionId"); + + b.ToTable("MiniGameChangeEvent", "config"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.MiniGameDefinition", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("AllowParty") + .HasColumnType("boolean"); + + b.Property("ArePlayerKillersAllowedToEnter") + .HasColumnType("boolean"); + + b.Property("Description") + .IsRequired() + .HasColumnType("text"); + + b.Property("EnterDuration") + .HasColumnType("interval"); + + b.Property("EntranceFee") + .HasColumnType("integer"); + + b.Property("EntranceId") + .HasColumnType("uuid"); + + b.Property("ExitDuration") + .HasColumnType("interval"); + + b.Property("FreeTicketItemId") + .HasColumnType("uuid"); + + b.Property("GameConfigurationId") + .HasColumnType("uuid"); + + b.Property("GameDuration") + .HasColumnType("interval"); + + b.Property("GameLevel") + .HasColumnType("smallint"); + + b.Property("IntroducedIn") + .HasColumnType("integer"); + + b.Property("IsActive") + .HasColumnType("boolean"); + + b.Property("MapCreationPolicy") + .HasColumnType("integer"); + + b.Property("MaximumCharacterLevel") + .HasColumnType("integer"); + + b.Property("MaximumPlayerCount") + .HasColumnType("integer"); + + b.Property("MaximumSpecialCharacterLevel") + .HasColumnType("integer"); + + b.Property("MinimumCharacterLevel") + .HasColumnType("integer"); + + b.Property("MinimumPlayerCount") + .HasColumnType("integer"); + + b.Property("MinimumSpecialCharacterLevel") + .HasColumnType("integer"); + + b.Property("Name") + .IsRequired() + .HasColumnType("text"); + + b.Property("RequiresMasterClass") + .HasColumnType("boolean"); + + b.Property("SaveRankingStatistics") + .HasColumnType("boolean"); + + b.Property("TicketItemId") + .HasColumnType("uuid"); + + b.Property("TicketItemLevel") + .HasColumnType("integer"); + + b.Property("Type") + .HasColumnType("integer"); + + b.HasKey("Id"); + + b.HasIndex("EntranceId"); + + b.HasIndex("FreeTicketItemId"); + + b.HasIndex("GameConfigurationId"); + + b.HasIndex("TicketItemId"); + + b.ToTable("MiniGameDefinition", "config"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.MiniGameRankingEntry", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("CharacterId") + .HasColumnType("uuid"); + + b.Property("GameInstanceId") + .HasColumnType("uuid"); + + b.Property("MiniGameId") + .HasColumnType("uuid"); + + b.Property("Rank") + .HasColumnType("integer"); + + b.Property("Score") + .HasColumnType("integer"); + + b.Property("Timestamp") + .HasColumnType("timestamp with time zone"); + + b.HasKey("Id"); + + b.HasIndex("CharacterId"); + + b.HasIndex("MiniGameId"); + + b.ToTable("MiniGameRankingEntry", "data"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.MiniGameReward", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("ItemRewardId") + .HasColumnType("uuid"); + + b.Property("MiniGameDefinitionId") + .HasColumnType("uuid"); + + b.Property("Rank") + .HasColumnType("integer"); + + b.Property("RequiredKillId") + .HasColumnType("uuid"); + + b.Property("RequiredSuccess") + .HasColumnType("integer"); + + b.Property("RewardAmount") + .HasColumnType("integer"); + + b.Property("RewardType") + .HasColumnType("integer"); + + b.HasKey("Id"); + + b.HasIndex("ItemRewardId"); + + b.HasIndex("MiniGameDefinitionId"); + + b.HasIndex("RequiredKillId"); + + b.ToTable("MiniGameReward", "config"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.MiniGameSpawnWave", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("Description") + .IsRequired() + .HasColumnType("text"); + + b.Property("EndTime") + .HasColumnType("interval"); + + b.Property("Message") + .IsRequired() + .HasColumnType("text"); + + b.Property("MiniGameDefinitionId") + .HasColumnType("uuid"); + + b.Property("StartTime") + .HasColumnType("interval"); + + b.Property("WaveNumber") + .HasColumnType("smallint"); + + b.HasKey("Id"); + + b.HasIndex("MiniGameDefinitionId"); + + b.ToTable("MiniGameSpawnWave", "config"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.MiniGameTerrainChange", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("EndX") + .HasColumnType("smallint"); + + b.Property("EndY") + .HasColumnType("smallint"); + + b.Property("IsClientUpdateRequired") + .HasColumnType("boolean"); + + b.Property("MiniGameChangeEventId") + .HasColumnType("uuid"); + + b.Property("SetTerrainAttribute") + .HasColumnType("boolean"); + + b.Property("StartX") + .HasColumnType("smallint"); + + b.Property("StartY") + .HasColumnType("smallint"); + + b.Property("TerrainAttribute") + .HasColumnType("integer"); + + b.HasKey("Id"); + + b.HasIndex("MiniGameChangeEventId"); + + b.ToTable("MiniGameTerrainChange", "config"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.MonsterAttribute", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("AttributeDefinitionId") + .HasColumnType("uuid"); + + b.Property("MonsterDefinitionId") + .HasColumnType("uuid"); + + b.Property("Value") + .HasColumnType("real"); + + b.HasKey("Id"); + + b.HasIndex("AttributeDefinitionId"); + + b.HasIndex("MonsterDefinitionId"); + + b.ToTable("MonsterAttribute", "config"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.MonsterDefinition", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("AttackDelay") + .HasColumnType("interval"); + + b.Property("AttackRange") + .HasColumnType("smallint"); + + b.Property("AttackSkillId") + .HasColumnType("uuid"); + + b.Property("Attribute") + .HasColumnType("smallint"); + + b.Property("Designation") + .IsRequired() + .HasColumnType("text"); + + b.Property("GameConfigurationId") + .HasColumnType("uuid"); + + b.Property("IntelligenceTypeName") + .HasColumnType("text"); + + b.Property("IntroducedIn") + .HasColumnType("integer"); + + b.Property("IsActive") + .HasColumnType("boolean"); + + b.Property("MerchantStoreId") + .HasColumnType("uuid"); + + b.Property("MoveDelay") + .HasColumnType("interval"); + + b.Property("MoveRange") + .HasColumnType("smallint"); + + b.Property("NpcWindow") + .HasColumnType("integer"); + + b.Property("Number") + .HasColumnType("smallint"); + + b.Property("NumberOfMaximumItemDrops") + .HasColumnType("integer"); + + b.Property("ObjectKind") + .HasColumnType("integer"); + + b.Property("RespawnDelay") + .HasColumnType("interval"); + + b.Property("ViewRange") + .HasColumnType("smallint"); + + b.HasKey("Id"); + + b.HasIndex("AttackSkillId"); + + b.HasIndex("GameConfigurationId"); + + b.HasIndex("MerchantStoreId") + .IsUnique(); + + b.ToTable("MonsterDefinition", "config"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.MonsterDefinitionDropItemGroup", b => + { + b.Property("MonsterDefinitionId") + .HasColumnType("uuid"); + + b.Property("DropItemGroupId") + .HasColumnType("uuid"); + + b.HasKey("MonsterDefinitionId", "DropItemGroupId"); + + b.HasIndex("DropItemGroupId"); + + b.ToTable("MonsterDefinitionDropItemGroup", "config"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.MonsterSpawnArea", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("Direction") + .HasColumnType("integer"); + + b.Property("GameMapId") + .HasColumnType("uuid"); + + b.Property("MaximumHealthOverride") + .HasColumnType("integer"); + + b.Property("MonsterDefinitionId") + .HasColumnType("uuid"); + + b.Property("Quantity") + .HasColumnType("smallint"); + + b.Property("SpawnTrigger") + .HasColumnType("integer"); + + b.Property("WaveNumber") + .HasColumnType("smallint"); + + b.Property("X1") + .HasColumnType("smallint"); + + b.Property("X2") + .HasColumnType("smallint"); + + b.Property("Y1") + .HasColumnType("smallint"); + + b.Property("Y2") + .HasColumnType("smallint"); + + b.HasKey("Id"); + + b.HasIndex("GameMapId"); + + b.HasIndex("MonsterDefinitionId"); + + b.ToTable("MonsterSpawnArea", "config"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.PlugInConfiguration", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("CustomConfiguration") + .HasColumnType("text"); + + b.Property("CustomPlugInSource") + .HasColumnType("text"); + + b.Property("ExternalAssemblyName") + .HasColumnType("text"); + + b.Property("GameConfigurationId") + .HasColumnType("uuid"); + + b.Property("IsActive") + .HasColumnType("boolean"); + + b.Property("TypeId") + .HasColumnType("uuid"); + + b.HasKey("Id"); + + b.HasIndex("GameConfigurationId"); + + b.ToTable("PlugInConfiguration", "config"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.PowerUpDefinition", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("BoostId") + .HasColumnType("uuid"); + + b.Property("GameMapDefinitionId") + .HasColumnType("uuid"); + + b.Property("MagicEffectDefinitionId") + .HasColumnType("uuid"); + + b.Property("MagicEffectDefinitionId1") + .HasColumnType("uuid"); + + b.Property("MasterSkillDefinitionId") + .HasColumnType("uuid"); + + b.Property("TargetAttributeId") + .HasColumnType("uuid"); + + b.HasKey("Id"); + + b.HasIndex("BoostId") + .IsUnique(); + + b.HasIndex("GameMapDefinitionId"); + + b.HasIndex("MagicEffectDefinitionId"); + + b.HasIndex("MagicEffectDefinitionId1"); + + b.HasIndex("MasterSkillDefinitionId"); + + b.HasIndex("TargetAttributeId"); + + b.ToTable("PowerUpDefinition", "config"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.PowerUpDefinitionValue", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("AggregateType") + .HasColumnType("integer"); + + b.Property("MaximumValue") + .HasColumnType("real"); + + b.Property("Value") + .HasColumnType("real"); + + b.HasKey("Id"); + + b.ToTable("PowerUpDefinitionValue", "config"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.QuestDefinition", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("Group") + .HasColumnType("smallint"); + + b.Property("MaximumCharacterLevel") + .HasColumnType("integer"); + + b.Property("MinimumCharacterLevel") + .HasColumnType("integer"); + + b.Property("MonsterDefinitionId") + .HasColumnType("uuid"); + + b.Property("Name") + .IsRequired() + .HasColumnType("text"); + + b.Property("Number") + .HasColumnType("smallint"); + + b.Property("QualifiedCharacterId") + .HasColumnType("uuid"); + + b.Property("QuestGiverId") + .HasColumnType("uuid"); + + b.Property("RefuseNumber") + .HasColumnType("smallint"); + + b.Property("Repeatable") + .HasColumnType("boolean"); + + b.Property("RequiredStartMoney") + .HasColumnType("integer"); + + b.Property("RequiresClientAction") + .HasColumnType("boolean"); + + b.Property("StartingNumber") + .HasColumnType("smallint"); + + b.HasKey("Id"); + + b.HasIndex("MonsterDefinitionId"); + + b.HasIndex("QualifiedCharacterId"); + + b.HasIndex("QuestGiverId"); + + b.ToTable("QuestDefinition", "config"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.QuestItemRequirement", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("DropItemGroupId") + .HasColumnType("uuid"); + + b.Property("ItemId") + .HasColumnType("uuid"); + + b.Property("MinimumNumber") + .HasColumnType("integer"); + + b.Property("QuestDefinitionId") + .HasColumnType("uuid"); + + b.HasKey("Id"); + + b.HasIndex("DropItemGroupId"); + + b.HasIndex("ItemId"); + + b.HasIndex("QuestDefinitionId"); + + b.ToTable("QuestItemRequirement", "config"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.QuestMonsterKillRequirement", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("MinimumNumber") + .HasColumnType("integer"); + + b.Property("MonsterId") + .HasColumnType("uuid"); + + b.Property("QuestDefinitionId") + .HasColumnType("uuid"); + + b.HasKey("Id"); + + b.HasIndex("MonsterId"); + + b.HasIndex("QuestDefinitionId"); + + b.ToTable("QuestMonsterKillRequirement", "config"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.QuestMonsterKillRequirementState", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("CharacterQuestStateId") + .HasColumnType("uuid"); + + b.Property("KillCount") + .HasColumnType("integer"); + + b.Property("RequirementId") + .HasColumnType("uuid"); + + b.HasKey("Id"); + + b.HasIndex("CharacterQuestStateId"); + + b.HasIndex("RequirementId"); + + b.ToTable("QuestMonsterKillRequirementState", "data"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.QuestReward", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("AttributeRewardId") + .HasColumnType("uuid"); + + b.Property("ItemRewardId") + .HasColumnType("uuid"); + + b.Property("QuestDefinitionId") + .HasColumnType("uuid"); + + b.Property("RewardType") + .HasColumnType("integer"); + + b.Property("SkillRewardId") + .HasColumnType("uuid"); + + b.Property("Value") + .HasColumnType("integer"); + + b.HasKey("Id"); + + b.HasIndex("AttributeRewardId"); + + b.HasIndex("ItemRewardId") + .IsUnique(); + + b.HasIndex("QuestDefinitionId"); + + b.HasIndex("SkillRewardId"); + + b.ToTable("QuestReward", "config"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.Rectangle", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("X1") + .HasColumnType("smallint"); + + b.Property("X2") + .HasColumnType("smallint"); + + b.Property("Y1") + .HasColumnType("smallint"); + + b.Property("Y2") + .HasColumnType("smallint"); + + b.HasKey("Id"); + + b.ToTable("Rectangle", "config"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.SimpleCraftingSettings", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("MaximumSuccessPercent") + .HasColumnType("smallint"); + + b.Property("Money") + .HasColumnType("integer"); + + b.Property("MoneyPerFinalSuccessPercentage") + .HasColumnType("integer"); + + b.Property("MultipleAllowed") + .HasColumnType("boolean"); + + b.Property("NpcPriceDivisor") + .HasColumnType("integer"); + + b.Property("ResultItemExcellentOptionChance") + .HasColumnType("smallint"); + + b.Property("ResultItemLuckOptionChance") + .HasColumnType("smallint"); + + b.Property("ResultItemMaxExcOptionCount") + .HasColumnType("smallint"); + + b.Property("ResultItemSelect") + .HasColumnType("integer"); + + b.Property("ResultItemSkillChance") + .HasColumnType("smallint"); + + b.Property("SuccessPercent") + .HasColumnType("smallint"); + + b.Property("SuccessPercentageAdditionForAncientItem") + .HasColumnType("integer"); + + b.Property("SuccessPercentageAdditionForExcellentItem") + .HasColumnType("integer"); + + b.Property("SuccessPercentageAdditionForGuardianItem") + .HasColumnType("integer"); + + b.Property("SuccessPercentageAdditionForLuck") + .HasColumnType("integer"); + + b.Property("SuccessPercentageAdditionForSocketItem") + .HasColumnType("integer"); + + b.HasKey("Id"); + + b.ToTable("SimpleCraftingSettings", "config"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.Skill", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("AreaSkillSettingsId") + .HasColumnType("uuid"); + + b.Property("AttackDamage") + .HasColumnType("integer"); + + b.Property("DamageType") + .HasColumnType("integer"); + + b.Property("ElementalModifierTargetId") + .HasColumnType("uuid"); + + b.Property("GameConfigurationId") + .HasColumnType("uuid"); + + b.Property("ImplicitTargetRange") + .HasColumnType("smallint"); + + b.Property("MagicEffectDefId") + .HasColumnType("uuid"); + + b.Property("MasterDefinitionId") + .HasColumnType("uuid"); + + b.Property("MovesTarget") + .HasColumnType("boolean"); + + b.Property("MovesToTarget") + .HasColumnType("boolean"); + + b.Property("Name") + .IsRequired() + .HasColumnType("text"); + + b.Property("Number") + .HasColumnType("smallint"); + + b.Property("NumberOfHitsPerAttack") + .HasColumnType("smallint"); + + b.Property("Range") + .HasColumnType("smallint"); + + b.Property("SkillType") + .HasColumnType("integer"); + + b.Property("SkipElementalModifier") + .HasColumnType("boolean"); + + b.Property("Target") + .HasColumnType("integer"); + + b.Property("TargetRestriction") + .HasColumnType("integer"); + + b.HasKey("Id"); + + b.HasIndex("AreaSkillSettingsId") + .IsUnique(); + + b.HasIndex("ElementalModifierTargetId"); + + b.HasIndex("GameConfigurationId"); + + b.HasIndex("MagicEffectDefId"); + + b.HasIndex("MasterDefinitionId") + .IsUnique(); + + b.ToTable("Skill", "config"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.SkillCharacterClass", b => + { + b.Property("SkillId") + .HasColumnType("uuid"); + + b.Property("CharacterClassId") + .HasColumnType("uuid"); + + b.HasKey("SkillId", "CharacterClassId"); + + b.HasIndex("CharacterClassId"); + + b.ToTable("SkillCharacterClass", "config"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.SkillComboDefinition", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("MaximumCompletionTime") + .HasColumnType("interval"); + + b.Property("Name") + .IsRequired() + .HasColumnType("text"); + + b.HasKey("Id"); + + b.ToTable("SkillComboDefinition", "config"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.SkillComboStep", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("IsFinalStep") + .HasColumnType("boolean"); + + b.Property("Order") + .HasColumnType("integer"); + + b.Property("SkillComboDefinitionId") + .HasColumnType("uuid"); + + b.Property("SkillId") + .HasColumnType("uuid"); + + b.HasKey("Id"); + + b.HasIndex("SkillComboDefinitionId"); + + b.HasIndex("SkillId"); + + b.ToTable("SkillComboStep", "config"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.SkillEntry", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("CharacterId") + .HasColumnType("uuid"); + + b.Property("Level") + .HasColumnType("integer"); + + b.Property("SkillId") + .HasColumnType("uuid"); + + b.HasKey("Id"); + + b.HasIndex("CharacterId"); + + b.HasIndex("SkillId"); + + b.ToTable("SkillEntry", "data"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.StatAttribute", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("AccountId") + .HasColumnType("uuid"); + + b.Property("CharacterId") + .HasColumnType("uuid"); + + b.Property("DefinitionId") + .HasColumnType("uuid"); + + b.Property("Value") + .HasColumnType("real"); + + b.HasKey("Id"); + + b.HasIndex("AccountId"); + + b.HasIndex("CharacterId"); + + b.HasIndex("DefinitionId"); + + b.ToTable("StatAttribute", "data"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.StatAttributeDefinition", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("AttributeId") + .HasColumnType("uuid"); + + b.Property("BaseValue") + .HasColumnType("real"); + + b.Property("CharacterClassId") + .HasColumnType("uuid"); + + b.Property("IncreasableByPlayer") + .HasColumnType("boolean"); + + b.HasKey("Id"); + + b.HasIndex("AttributeId"); + + b.HasIndex("CharacterClassId"); + + b.ToTable("StatAttributeDefinition", "config"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.SystemConfiguration", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("AutoStart") + .HasColumnType("boolean"); + + b.Property("AutoUpdateSchema") + .HasColumnType("boolean"); + + b.Property("IpResolver") + .HasColumnType("integer"); + + b.Property("IpResolverParameter") + .HasColumnType("text"); + + b.Property("NetworkAnalyzerLiveBufferSize") + .HasColumnType("integer"); + + b.Property("NetworkObservationArchivePath") + .HasColumnType("text"); + + b.Property("NetworkObservationMaxSessionSizeMb") + .HasColumnType("integer"); + + b.Property("NetworkObservationMaxTotalSizeMb") + .HasColumnType("integer"); + + b.Property("NetworkObservationRetentionDays") + .HasColumnType("integer"); + + b.Property("ReadConsoleInput") + .HasColumnType("boolean"); + + b.Property("TimeZoneId") + .HasColumnType("text"); + + b.HasKey("Id"); + + b.ToTable("SystemConfiguration", "config"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.WarpInfo", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("Costs") + .HasColumnType("integer"); + + b.Property("GameConfigurationId") + .HasColumnType("uuid"); + + b.Property("GateId") + .HasColumnType("uuid"); + + b.Property("Index") + .HasColumnType("integer"); + + b.Property("IsWarpable") + .HasColumnType("boolean"); + + b.Property("LevelRequirement") + .HasColumnType("integer"); + + b.Property("Name") + .IsRequired() + .HasColumnType("text"); + + b.HasKey("Id"); + + b.HasIndex("GameConfigurationId"); + + b.HasIndex("GateId"); + + b.ToTable("WarpInfo", "config"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.Account", b => + { + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.ItemStorage", "RawVault") + .WithOne() + .HasForeignKey("MUnique.OpenMU.Persistence.EntityFramework.Model.Account", "VaultId") + .OnDelete(DeleteBehavior.Cascade); + + b.Navigation("RawVault"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.AccountAttributeGrant", b => + { + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.Account", null) + .WithMany("RawAttributeGrants") + .HasForeignKey("AccountId") + .OnDelete(DeleteBehavior.Cascade); + + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.AttributeDefinition", "RawAttribute") + .WithMany() + .HasForeignKey("AttributeId"); + + b.Navigation("RawAttribute"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.AccountCharacterClass", b => + { + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.Account", "Account") + .WithMany("JoinedUnlockedCharacterClasses") + .HasForeignKey("AccountId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.CharacterClass", "CharacterClass") + .WithMany() + .HasForeignKey("CharacterClassId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Account"); + + b.Navigation("CharacterClass"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.AccountExternalLink", b => + { + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.Account", null) + .WithMany() + .HasForeignKey("AccountId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.AppearanceData", b => + { + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.CharacterClass", "RawCharacterClass") + .WithMany() + .HasForeignKey("CharacterClassId"); + + b.Navigation("RawCharacterClass"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.AttributeDefinition", b => + { + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.GameConfiguration", null) + .WithMany("RawAttributes") + .HasForeignKey("GameConfigurationId") + .OnDelete(DeleteBehavior.Cascade); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.AttributeRelationship", b => + { + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.CharacterClass", null) + .WithMany("RawAttributeCombinations") + .HasForeignKey("CharacterClassId") + .OnDelete(DeleteBehavior.Cascade); + + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.GameConfiguration", null) + .WithMany("RawGlobalAttributeCombinations") + .HasForeignKey("GameConfigurationId") + .OnDelete(DeleteBehavior.Cascade); + + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.AttributeDefinition", "RawInputAttribute") + .WithMany() + .HasForeignKey("InputAttributeId"); + + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.AttributeDefinition", "RawOperandAttribute") + .WithMany() + .HasForeignKey("OperandAttributeId"); + + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.PowerUpDefinitionValue", null) + .WithMany("RawRelatedValues") + .HasForeignKey("PowerUpDefinitionValueId") + .OnDelete(DeleteBehavior.Cascade); + + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.Skill", null) + .WithMany("RawAttributeRelationships") + .HasForeignKey("SkillId") + .OnDelete(DeleteBehavior.Cascade); + + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.AttributeDefinition", "RawTargetAttribute") + .WithMany() + .HasForeignKey("TargetAttributeId"); + + b.Navigation("RawInputAttribute"); + + b.Navigation("RawOperandAttribute"); + + b.Navigation("RawTargetAttribute"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.AttributeRequirement", b => + { + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.AttributeDefinition", "RawAttribute") + .WithMany() + .HasForeignKey("AttributeId"); + + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.GameMapDefinition", null) + .WithMany("RawMapRequirements") + .HasForeignKey("GameMapDefinitionId") + .OnDelete(DeleteBehavior.Cascade); + + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.GameServerDefinition", null) + .WithMany("RawJoinRequirements") + .HasForeignKey("GameServerDefinitionId") + .OnDelete(DeleteBehavior.Cascade); + + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.ItemDefinition", null) + .WithMany("RawRequirements") + .HasForeignKey("ItemDefinitionId") + .OnDelete(DeleteBehavior.Cascade); + + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.Skill", null) + .WithMany("RawConsumeRequirements") + .HasForeignKey("SkillId") + .OnDelete(DeleteBehavior.Cascade); + + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.Skill", null) + .WithMany("RawRequirements") + .HasForeignKey("SkillId1") + .OnDelete(DeleteBehavior.Cascade); + + b.Navigation("RawAttribute"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.BattleZoneDefinition", b => + { + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.Rectangle", "RawGround") + .WithOne() + .HasForeignKey("MUnique.OpenMU.Persistence.EntityFramework.Model.BattleZoneDefinition", "GroundId") + .OnDelete(DeleteBehavior.Cascade); + + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.Rectangle", "RawLeftGoal") + .WithOne() + .HasForeignKey("MUnique.OpenMU.Persistence.EntityFramework.Model.BattleZoneDefinition", "LeftGoalId") + .OnDelete(DeleteBehavior.Cascade); + + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.Rectangle", "RawRightGoal") + .WithOne() + .HasForeignKey("MUnique.OpenMU.Persistence.EntityFramework.Model.BattleZoneDefinition", "RightGoalId") + .OnDelete(DeleteBehavior.Cascade); + + b.Navigation("RawGround"); + + b.Navigation("RawLeftGoal"); + + b.Navigation("RawRightGoal"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.Buff", b => + { + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.MagicEffectDefinition", "RawMagicEffectDefinition") + .WithOne() + .HasForeignKey("MUnique.OpenMU.Persistence.EntityFramework.Model.Buff", "MagicEffectDefinitionId") + .OnDelete(DeleteBehavior.Cascade); + + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.MonsterDefinition", null) + .WithMany("RawBuffs") + .HasForeignKey("MonsterDefinitionId") + .OnDelete(DeleteBehavior.Cascade); + + b.Navigation("RawMagicEffectDefinition"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.CashShopCoinGrant", b => + { + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.Account", null) + .WithMany() + .HasForeignKey("AccountId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.CashShopPackage", b => + { + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.CashShopConfiguration", null) + .WithMany("RawPackages") + .HasForeignKey("CashShopConfigurationId") + .OnDelete(DeleteBehavior.Cascade); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.CashShopProduct", b => + { + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.CashShopPackage", null) + .WithMany("RawProducts") + .HasForeignKey("CashShopPackageId") + .OnDelete(DeleteBehavior.Cascade); + + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.ItemDefinition", "RawItemDefinition") + .WithMany() + .HasForeignKey("ItemDefinitionId"); + + b.Navigation("RawItemDefinition"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.CashShopStorageItem", b => + { + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.Account", null) + .WithMany() + .HasForeignKey("AccountId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.CastleSiegeConfiguration", b => + { + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.CastleSiegeZoneDefinition", "RawAttackRespawnArea") + .WithOne() + .HasForeignKey("MUnique.OpenMU.Persistence.EntityFramework.Model.CastleSiegeConfiguration", "AttackRespawnAreaId") + .OnDelete(DeleteBehavior.Cascade); + + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.GameMapDefinition", "RawCastleSiegeMapDefinition") + .WithMany() + .HasForeignKey("CastleSiegeMapDefinitionId") + .OnDelete(DeleteBehavior.Restrict); + + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.CastleSiegeZoneDefinition", "RawDefenseRespawnArea") + .WithOne() + .HasForeignKey("MUnique.OpenMU.Persistence.EntityFramework.Model.CastleSiegeConfiguration", "DefenseRespawnAreaId") + .OnDelete(DeleteBehavior.Cascade); + + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.GameMapDefinition", "RawLandOfTrialsMapDefinition") + .WithMany() + .HasForeignKey("LandOfTrialsMapDefinitionId") + .OnDelete(DeleteBehavior.Restrict); + + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.ItemDefinition", "RawRewardItemDefinition") + .WithMany() + .HasForeignKey("RewardItemDefinitionId") + .OnDelete(DeleteBehavior.Restrict); + + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.ItemDefinition", "RawSignOfLordItemDefinition") + .WithMany() + .HasForeignKey("SignOfLordItemDefinitionId") + .OnDelete(DeleteBehavior.Restrict); + + b.Navigation("RawAttackRespawnArea"); + + b.Navigation("RawCastleSiegeMapDefinition"); + + b.Navigation("RawDefenseRespawnArea"); + + b.Navigation("RawLandOfTrialsMapDefinition"); + + b.Navigation("RawRewardItemDefinition"); + + b.Navigation("RawSignOfLordItemDefinition"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.CastleSiegeData", b => + { + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.Guild", null) + .WithMany() + .HasForeignKey("OwnerGuildId") + .OnDelete(DeleteBehavior.SetNull); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.CastleSiegeGuild", b => + { + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.CastleSiegeData", null) + .WithMany("RawGuilds") + .HasForeignKey("CastleSiegeDataId") + .OnDelete(DeleteBehavior.Cascade); + + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.Guild", null) + .WithMany() + .HasForeignKey("GuildId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.CastleSiegeGuildRegistration", b => + { + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.Guild", null) + .WithMany() + .HasForeignKey("GuildId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.CastleSiegeNpcDefinition", b => + { + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.CastleSiegeConfiguration", null) + .WithMany("RawNpcDefinitions") + .HasForeignKey("CastleSiegeConfigurationId") + .OnDelete(DeleteBehavior.Cascade); + + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.MonsterDefinition", "RawMonsterDefinition") + .WithMany() + .HasForeignKey("MonsterDefinitionId") + .OnDelete(DeleteBehavior.Restrict) + .IsRequired(); + + b.Navigation("RawMonsterDefinition"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.CastleSiegeNpcState", b => + { + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.CastleSiegeData", null) + .WithMany("RawNpcStates") + .HasForeignKey("CastleSiegeDataId") + .OnDelete(DeleteBehavior.Cascade); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.CastleSiegePendingReward", b => + { + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.Character", null) + .WithMany() + .HasForeignKey("CharacterId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.ItemDefinition", null) + .WithMany() + .HasForeignKey("ItemDefinitionId") + .OnDelete(DeleteBehavior.Restrict) + .IsRequired(); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.CastleSiegeStateScheduleEntry", b => + { + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.CastleSiegeConfiguration", null) + .WithMany("RawStateSchedule") + .HasForeignKey("CastleSiegeConfigurationId") + .OnDelete(DeleteBehavior.Cascade); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.CastleSiegeUpgradeDefinition", b => + { + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.CastleSiegeConfiguration", null) + .WithMany("RawGateDefenseUpgrades") + .HasForeignKey("CastleSiegeConfigurationId") + .OnDelete(DeleteBehavior.Cascade); + + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.CastleSiegeConfiguration", null) + .WithMany("RawGateLifeUpgrades") + .HasForeignKey("CastleSiegeConfigurationId1") + .OnDelete(DeleteBehavior.Cascade) + .HasConstraintName("FK_CastleSiegeUpgradeDefinition_CastleSiegeConfiguration_Cast~1"); + + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.CastleSiegeConfiguration", null) + .WithMany("RawStatueDefenseUpgrades") + .HasForeignKey("CastleSiegeConfigurationId2") + .OnDelete(DeleteBehavior.Cascade) + .HasConstraintName("FK_CastleSiegeUpgradeDefinition_CastleSiegeConfiguration_Cast~2"); + + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.CastleSiegeConfiguration", null) + .WithMany("RawStatueLifeUpgrades") + .HasForeignKey("CastleSiegeConfigurationId3") + .OnDelete(DeleteBehavior.Cascade) + .HasConstraintName("FK_CastleSiegeUpgradeDefinition_CastleSiegeConfiguration_Cast~3"); + + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.CastleSiegeConfiguration", null) + .WithMany("RawStatueRegenUpgrades") + .HasForeignKey("CastleSiegeConfigurationId4") + .OnDelete(DeleteBehavior.Cascade) + .HasConstraintName("FK_CastleSiegeUpgradeDefinition_CastleSiegeConfiguration_Cast~4"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.CastleSiegeZoneDefinition", b => + { + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.CastleSiegeConfiguration", null) + .WithMany("RawAttackMachineZones") + .HasForeignKey("CastleSiegeConfigurationId") + .OnDelete(DeleteBehavior.Cascade); + + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.CastleSiegeConfiguration", null) + .WithMany("RawDefenseMachineZones") + .HasForeignKey("CastleSiegeConfigurationId1") + .OnDelete(DeleteBehavior.Cascade) + .HasConstraintName("FK_CastleSiegeZoneDefinition_CastleSiegeConfiguration_CastleS~1"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.Character", b => + { + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.Account", null) + .WithMany("RawCharacters") + .HasForeignKey("AccountId") + .OnDelete(DeleteBehavior.Cascade); + + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.CharacterClass", "RawCharacterClass") + .WithMany() + .HasForeignKey("CharacterClassId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.GameMapDefinition", "RawCurrentMap") + .WithMany() + .HasForeignKey("CurrentMapId"); + + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.ItemStorage", "RawInventory") + .WithOne() + .HasForeignKey("MUnique.OpenMU.Persistence.EntityFramework.Model.Character", "InventoryId") + .OnDelete(DeleteBehavior.Cascade); + + b.Navigation("RawCharacterClass"); + + b.Navigation("RawCurrentMap"); + + b.Navigation("RawInventory"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.CharacterClass", b => + { + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.SkillComboDefinition", "RawComboDefinition") + .WithOne() + .HasForeignKey("MUnique.OpenMU.Persistence.EntityFramework.Model.CharacterClass", "ComboDefinitionId") + .OnDelete(DeleteBehavior.Cascade); + + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.GameConfiguration", null) + .WithMany("RawCharacterClasses") + .HasForeignKey("GameConfigurationId") + .OnDelete(DeleteBehavior.Cascade); + + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.GameMapDefinition", "RawHomeMap") + .WithMany() + .HasForeignKey("HomeMapId"); + + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.CharacterClass", "RawNextGenerationClass") + .WithMany() + .HasForeignKey("NextGenerationClassId"); + + b.Navigation("RawComboDefinition"); + + b.Navigation("RawHomeMap"); + + b.Navigation("RawNextGenerationClass"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.CharacterDropItemGroup", b => + { + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.Character", "Character") + .WithMany("JoinedDropItemGroups") + .HasForeignKey("CharacterId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.DropItemGroup", "DropItemGroup") + .WithMany() + .HasForeignKey("DropItemGroupId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Character"); + + b.Navigation("DropItemGroup"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.CharacterQuestState", b => + { + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.QuestDefinition", "RawActiveQuest") + .WithMany() + .HasForeignKey("ActiveQuestId"); + + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.Character", null) + .WithMany("RawQuestStates") + .HasForeignKey("CharacterId") + .OnDelete(DeleteBehavior.Cascade); + + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.QuestDefinition", "RawLastFinishedQuest") + .WithMany() + .HasForeignKey("LastFinishedQuestId"); + + b.Navigation("RawActiveQuest"); + + b.Navigation("RawLastFinishedQuest"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.ChatServerEndpoint", b => + { + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.ChatServerDefinition", null) + .WithMany("RawEndpoints") + .HasForeignKey("ChatServerDefinitionId") + .OnDelete(DeleteBehavior.Cascade); + + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.GameClientDefinition", "RawClient") + .WithMany() + .HasForeignKey("ClientId"); + + b.Navigation("RawClient"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.CombinationBonusRequirement", b => + { + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.ItemOptionCombinationBonus", null) + .WithMany("RawRequirements") + .HasForeignKey("ItemOptionCombinationBonusId") + .OnDelete(DeleteBehavior.Cascade); + + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.ItemOptionType", "RawOptionType") + .WithMany() + .HasForeignKey("OptionTypeId"); + + b.Navigation("RawOptionType"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.ConnectServerDefinition", b => + { + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.GameClientDefinition", "RawClient") + .WithMany() + .HasForeignKey("ClientId"); + + b.Navigation("RawClient"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.ConstValueAttribute", b => + { + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.CharacterClass", "CharacterClass") + .WithMany("RawBaseAttributeValues") + .HasForeignKey("CharacterClassId") + .OnDelete(DeleteBehavior.Cascade); + + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.AttributeDefinition", "RawDefinition") + .WithMany() + .HasForeignKey("DefinitionId"); + + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.GameConfiguration", "GameConfiguration") + .WithMany("RawGlobalBaseAttributeValues") + .HasForeignKey("GameConfigurationId") + .OnDelete(DeleteBehavior.Cascade); + + b.Navigation("CharacterClass"); + + b.Navigation("GameConfiguration"); + + b.Navigation("RawDefinition"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.DropItemGroup", b => + { + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.GameConfiguration", null) + .WithMany("RawDropItemGroups") + .HasForeignKey("GameConfigurationId") + .OnDelete(DeleteBehavior.Cascade); + + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.MonsterDefinition", "RawMonster") + .WithMany() + .HasForeignKey("MonsterId"); + + b.Navigation("RawMonster"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.DropItemGroupItemDefinition", b => + { + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.DropItemGroup", "DropItemGroup") + .WithMany("JoinedPossibleItems") + .HasForeignKey("DropItemGroupId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.ItemDefinition", "ItemDefinition") + .WithMany() + .HasForeignKey("ItemDefinitionId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("DropItemGroup"); + + b.Navigation("ItemDefinition"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.DuelArea", b => + { + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.DuelConfiguration", null) + .WithMany("RawDuelAreas") + .HasForeignKey("DuelConfigurationId") + .OnDelete(DeleteBehavior.Cascade); + + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.ExitGate", "RawFirstPlayerGate") + .WithMany() + .HasForeignKey("FirstPlayerGateId"); + + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.ExitGate", "RawSecondPlayerGate") + .WithMany() + .HasForeignKey("SecondPlayerGateId"); + + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.ExitGate", "RawSpectatorsGate") + .WithMany() + .HasForeignKey("SpectatorsGateId"); + + b.Navigation("RawFirstPlayerGate"); + + b.Navigation("RawSecondPlayerGate"); + + b.Navigation("RawSpectatorsGate"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.DuelConfiguration", b => + { + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.ExitGate", "RawExit") + .WithMany() + .HasForeignKey("ExitId"); + + b.Navigation("RawExit"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.EnterGate", b => + { + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.GameMapDefinition", null) + .WithMany("RawEnterGates") + .HasForeignKey("GameMapDefinitionId") + .OnDelete(DeleteBehavior.Cascade); + + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.ExitGate", "RawTargetGate") + .WithMany() + .HasForeignKey("TargetGateId"); + + b.Navigation("RawTargetGate"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.ExitGate", b => + { + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.GameMapDefinition", "RawMap") + .WithMany("RawExitGates") + .HasForeignKey("MapId") + .OnDelete(DeleteBehavior.Cascade); + + b.Navigation("RawMap"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.GameConfiguration", b => + { + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.CashShopConfiguration", "RawCashShopConfiguration") + .WithOne() + .HasForeignKey("MUnique.OpenMU.Persistence.EntityFramework.Model.GameConfiguration", "CashShopConfigurationId") + .OnDelete(DeleteBehavior.Cascade); + + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.CastleSiegeConfiguration", "RawCastleSiegeConfiguration") + .WithOne() + .HasForeignKey("MUnique.OpenMU.Persistence.EntityFramework.Model.GameConfiguration", "CastleSiegeConfigurationId") + .OnDelete(DeleteBehavior.Cascade); + + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.DuelConfiguration", "RawDuelConfiguration") + .WithOne() + .HasForeignKey("MUnique.OpenMU.Persistence.EntityFramework.Model.GameConfiguration", "DuelConfigurationId") + .OnDelete(DeleteBehavior.Cascade); + + b.Navigation("RawCashShopConfiguration"); + + b.Navigation("RawCastleSiegeConfiguration"); + + b.Navigation("RawDuelConfiguration"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.GameMapDefinition", b => + { + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.BattleZoneDefinition", "RawBattleZone") + .WithOne() + .HasForeignKey("MUnique.OpenMU.Persistence.EntityFramework.Model.GameMapDefinition", "BattleZoneId") + .OnDelete(DeleteBehavior.Cascade); + + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.GameConfiguration", null) + .WithMany("RawMaps") + .HasForeignKey("GameConfigurationId") + .OnDelete(DeleteBehavior.Cascade); + + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.GameMapDefinition", "RawSafezoneMap") + .WithMany() + .HasForeignKey("SafezoneMapId"); + + b.Navigation("RawBattleZone"); + + b.Navigation("RawSafezoneMap"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.GameMapDefinitionDropItemGroup", b => + { + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.DropItemGroup", "DropItemGroup") + .WithMany() + .HasForeignKey("DropItemGroupId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.GameMapDefinition", "GameMapDefinition") + .WithMany("JoinedDropItemGroups") + .HasForeignKey("GameMapDefinitionId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("DropItemGroup"); + + b.Navigation("GameMapDefinition"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.GameMapTerrainVariant", b => + { + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.GameMapDefinition", null) + .WithMany("RawTerrainVariants") + .HasForeignKey("GameMapDefinitionId") + .OnDelete(DeleteBehavior.Cascade); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.GameServerConfigurationGameMapDefinition", b => + { + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.GameMapDefinition", "GameMapDefinition") + .WithMany() + .HasForeignKey("GameMapDefinitionId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.GameServerConfiguration", "GameServerConfiguration") + .WithMany("JoinedMaps") + .HasForeignKey("GameServerConfigurationId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("GameMapDefinition"); + + b.Navigation("GameServerConfiguration"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.GameServerDefinition", b => + { + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.GameConfiguration", "RawGameConfiguration") + .WithMany() + .HasForeignKey("GameConfigurationId"); + + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.GameServerConfiguration", "RawServerConfiguration") + .WithMany() + .HasForeignKey("ServerConfigurationId"); + + b.Navigation("RawGameConfiguration"); + + b.Navigation("RawServerConfiguration"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.GameServerEndpoint", b => + { + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.GameClientDefinition", "RawClient") + .WithMany() + .HasForeignKey("ClientId"); + + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.GameServerDefinition", null) + .WithMany("RawEndpoints") + .HasForeignKey("GameServerDefinitionId") + .OnDelete(DeleteBehavior.Cascade); + + b.Navigation("RawClient"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.GensAbuse", b => + { + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.Character", null) + .WithMany() + .HasForeignKey("KillerId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.Character", null) + .WithMany() + .HasForeignKey("VictimId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.GensMember", b => + { + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.Character", null) + .WithMany() + .HasForeignKey("CharacterId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.Guild", b => + { + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.Guild", "RawAllianceGuild") + .WithMany() + .HasForeignKey("AllianceGuildId"); + + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.Guild", "RawHostility") + .WithMany() + .HasForeignKey("HostilityId"); + + b.Navigation("RawAllianceGuild"); + + b.Navigation("RawHostility"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.GuildChatBinding", b => + { + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.Guild", null) + .WithMany() + .HasForeignKey("GuildId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.GuildMember", b => + { + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.Guild", null) + .WithMany("RawMembers") + .HasForeignKey("GuildId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.Character", "Character") + .WithMany() + .HasForeignKey("Id") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Character"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.IncreasableItemOption", b => + { + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.ItemOptionDefinition", null) + .WithMany("RawPossibleOptions") + .HasForeignKey("ItemOptionDefinitionId") + .OnDelete(DeleteBehavior.Cascade); + + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.ItemOptionType", "RawOptionType") + .WithMany() + .HasForeignKey("OptionTypeId"); + + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.PowerUpDefinition", "RawPowerUpDefinition") + .WithOne() + .HasForeignKey("MUnique.OpenMU.Persistence.EntityFramework.Model.IncreasableItemOption", "PowerUpDefinitionId") + .OnDelete(DeleteBehavior.Cascade); + + b.Navigation("RawOptionType"); + + b.Navigation("RawPowerUpDefinition"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.Item", b => + { + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.ItemDefinition", "RawDefinition") + .WithMany() + .HasForeignKey("DefinitionId"); + + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.ItemStorage", "RawItemStorage") + .WithMany("RawItems") + .HasForeignKey("ItemStorageId") + .OnDelete(DeleteBehavior.Cascade); + + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.ItemDefinition", "RawStorePriceItemDefinition") + .WithMany() + .HasForeignKey("StorePriceItemDefinitionId"); + + b.Navigation("RawDefinition"); + + b.Navigation("RawItemStorage"); + + b.Navigation("RawStorePriceItemDefinition"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.ItemAppearance", b => + { + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.AppearanceData", null) + .WithMany("RawEquippedItems") + .HasForeignKey("AppearanceDataId") + .OnDelete(DeleteBehavior.Cascade); + + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.ItemDefinition", "RawDefinition") + .WithMany() + .HasForeignKey("DefinitionId"); + + b.Navigation("RawDefinition"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.ItemAppearanceItemOptionType", b => + { + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.ItemAppearance", "ItemAppearance") + .WithMany("JoinedVisibleOptions") + .HasForeignKey("ItemAppearanceId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.ItemOptionType", "ItemOptionType") + .WithMany() + .HasForeignKey("ItemOptionTypeId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("ItemAppearance"); + + b.Navigation("ItemOptionType"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.ItemBasePowerUpDefinition", b => + { + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.ItemLevelBonusTable", "RawBonusPerLevelTable") + .WithMany() + .HasForeignKey("BonusPerLevelTableId"); + + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.ItemDefinition", null) + .WithMany("RawBasePowerUpAttributes") + .HasForeignKey("ItemDefinitionId") + .OnDelete(DeleteBehavior.Cascade); + + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.AttributeDefinition", "RawTargetAttribute") + .WithMany() + .HasForeignKey("TargetAttributeId"); + + b.Navigation("RawBonusPerLevelTable"); + + b.Navigation("RawTargetAttribute"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.ItemCrafting", b => + { + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.MonsterDefinition", null) + .WithMany("RawItemCraftings") + .HasForeignKey("MonsterDefinitionId") + .OnDelete(DeleteBehavior.Cascade); + + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.SimpleCraftingSettings", "RawSimpleCraftingSettings") + .WithOne() + .HasForeignKey("MUnique.OpenMU.Persistence.EntityFramework.Model.ItemCrafting", "SimpleCraftingSettingsId") + .OnDelete(DeleteBehavior.Cascade); + + b.Navigation("RawSimpleCraftingSettings"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.ItemCraftingRequiredItem", b => + { + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.SimpleCraftingSettings", null) + .WithMany("RawRequiredItems") + .HasForeignKey("SimpleCraftingSettingsId") + .OnDelete(DeleteBehavior.Cascade); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.ItemCraftingRequiredItemItemDefinition", b => + { + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.ItemCraftingRequiredItem", "ItemCraftingRequiredItem") + .WithMany("JoinedPossibleItems") + .HasForeignKey("ItemCraftingRequiredItemId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.ItemDefinition", "ItemDefinition") + .WithMany() + .HasForeignKey("ItemDefinitionId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("ItemCraftingRequiredItem"); + + b.Navigation("ItemDefinition"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.ItemCraftingRequiredItemItemOptionType", b => + { + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.ItemCraftingRequiredItem", "ItemCraftingRequiredItem") + .WithMany("JoinedRequiredItemOptions") + .HasForeignKey("ItemCraftingRequiredItemId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.ItemOptionType", "ItemOptionType") + .WithMany() + .HasForeignKey("ItemOptionTypeId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("ItemCraftingRequiredItem"); + + b.Navigation("ItemOptionType"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.ItemCraftingResultItem", b => + { + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.ItemDefinition", "RawItemDefinition") + .WithMany() + .HasForeignKey("ItemDefinitionId"); + + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.SimpleCraftingSettings", null) + .WithMany("RawResultItems") + .HasForeignKey("SimpleCraftingSettingsId") + .OnDelete(DeleteBehavior.Cascade); + + b.Navigation("RawItemDefinition"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.ItemDefinition", b => + { + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.MagicEffectDefinition", "RawConsumeEffect") + .WithMany() + .HasForeignKey("ConsumeEffectId"); + + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.GameConfiguration", null) + .WithMany("RawItems") + .HasForeignKey("GameConfigurationId") + .OnDelete(DeleteBehavior.Cascade); + + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.ItemSlotType", "RawItemSlot") + .WithMany() + .HasForeignKey("ItemSlotId"); + + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.ItemPriceDefinition", "RawPriceDefinition") + .WithMany() + .HasForeignKey("PriceDefinitionId"); + + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.Skill", "RawSkill") + .WithMany() + .HasForeignKey("SkillId"); + + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.ItemStatProfile", "RawStatProfile") + .WithMany() + .HasForeignKey("StatProfileId") + .OnDelete(DeleteBehavior.Restrict); + + b.Navigation("RawConsumeEffect"); + + b.Navigation("RawItemSlot"); + + b.Navigation("RawPriceDefinition"); + + b.Navigation("RawSkill"); + + b.Navigation("RawStatProfile"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.ItemDefinitionCharacterClass", b => + { + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.CharacterClass", "CharacterClass") + .WithMany() + .HasForeignKey("CharacterClassId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.ItemDefinition", "ItemDefinition") + .WithMany("JoinedQualifiedCharacters") + .HasForeignKey("ItemDefinitionId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("CharacterClass"); + + b.Navigation("ItemDefinition"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.ItemDefinitionItemOptionDefinition", b => + { + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.ItemDefinition", "ItemDefinition") + .WithMany("JoinedPossibleItemOptions") + .HasForeignKey("ItemDefinitionId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.ItemOptionDefinition", "ItemOptionDefinition") + .WithMany() + .HasForeignKey("ItemOptionDefinitionId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("ItemDefinition"); + + b.Navigation("ItemOptionDefinition"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.ItemDefinitionItemSetGroup", b => + { + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.ItemDefinition", "ItemDefinition") + .WithMany("JoinedPossibleItemSetGroups") + .HasForeignKey("ItemDefinitionId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.ItemSetGroup", "ItemSetGroup") + .WithMany() + .HasForeignKey("ItemSetGroupId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("ItemDefinition"); + + b.Navigation("ItemSetGroup"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.ItemDropItemGroup", b => + { + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.ItemDefinition", null) + .WithMany("RawDropItems") + .HasForeignKey("ItemDefinitionId") + .OnDelete(DeleteBehavior.Cascade); + + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.MonsterDefinition", "RawMonster") + .WithMany() + .HasForeignKey("MonsterId"); + + b.Navigation("RawMonster"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.ItemDropItemGroupItemDefinition", b => + { + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.ItemDefinition", "ItemDefinition") + .WithMany() + .HasForeignKey("ItemDefinitionId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.ItemDropItemGroup", "ItemDropItemGroup") + .WithMany("JoinedPossibleItems") + .HasForeignKey("ItemDropItemGroupId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("ItemDefinition"); + + b.Navigation("ItemDropItemGroup"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.ItemItemOfItemSet", b => + { + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.Item", "Item") + .WithMany("JoinedItemSetGroups") + .HasForeignKey("ItemId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.ItemOfItemSet", "ItemOfItemSet") + .WithMany() + .HasForeignKey("ItemOfItemSetId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Item"); + + b.Navigation("ItemOfItemSet"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.ItemLevelBonusTable", b => + { + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.GameConfiguration", null) + .WithMany("RawItemLevelBonusTables") + .HasForeignKey("GameConfigurationId") + .OnDelete(DeleteBehavior.Cascade); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.ItemLevelPrice", b => + { + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.ItemPriceDefinition", null) + .WithMany("RawPricePerLevel") + .HasForeignKey("ItemPriceDefinitionId") + .OnDelete(DeleteBehavior.Cascade); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.ItemOfItemSet", b => + { + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.IncreasableItemOption", "RawBonusOption") + .WithMany() + .HasForeignKey("BonusOptionId"); + + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.ItemDefinition", "RawItemDefinition") + .WithMany() + .HasForeignKey("ItemDefinitionId"); + + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.ItemSetGroup", "RawItemSetGroup") + .WithMany("RawItems") + .HasForeignKey("ItemSetGroupId") + .OnDelete(DeleteBehavior.Cascade); + + b.Navigation("RawBonusOption"); + + b.Navigation("RawItemDefinition"); + + b.Navigation("RawItemSetGroup"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.ItemOption", b => + { + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.ItemOptionType", "RawOptionType") + .WithMany() + .HasForeignKey("OptionTypeId"); + + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.PowerUpDefinition", "RawPowerUpDefinition") + .WithOne() + .HasForeignKey("MUnique.OpenMU.Persistence.EntityFramework.Model.ItemOption", "PowerUpDefinitionId") + .OnDelete(DeleteBehavior.Cascade); + + b.Navigation("RawOptionType"); + + b.Navigation("RawPowerUpDefinition"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.ItemOptionCombinationBonus", b => + { + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.PowerUpDefinition", "RawBonus") + .WithOne() + .HasForeignKey("MUnique.OpenMU.Persistence.EntityFramework.Model.ItemOptionCombinationBonus", "BonusId") + .OnDelete(DeleteBehavior.Cascade); + + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.GameConfiguration", null) + .WithMany("RawItemOptionCombinationBonuses") + .HasForeignKey("GameConfigurationId") + .OnDelete(DeleteBehavior.Cascade); + + b.Navigation("RawBonus"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.ItemOptionDefinition", b => + { + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.GameConfiguration", null) + .WithMany("RawItemOptions") + .HasForeignKey("GameConfigurationId") + .OnDelete(DeleteBehavior.Cascade); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.ItemOptionLink", b => + { + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.Item", null) + .WithMany("RawItemOptions") + .HasForeignKey("ItemId") + .OnDelete(DeleteBehavior.Cascade); + + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.IncreasableItemOption", "RawItemOption") + .WithMany() + .HasForeignKey("ItemOptionId"); + + b.Navigation("RawItemOption"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.ItemOptionOfLevel", b => + { + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.IncreasableItemOption", null) + .WithMany("RawLevelDependentOptions") + .HasForeignKey("IncreasableItemOptionId") + .OnDelete(DeleteBehavior.Cascade); + + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.PowerUpDefinition", "RawPowerUpDefinition") + .WithOne() + .HasForeignKey("MUnique.OpenMU.Persistence.EntityFramework.Model.ItemOptionOfLevel", "PowerUpDefinitionId") + .OnDelete(DeleteBehavior.Cascade); + + b.Navigation("RawPowerUpDefinition"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.ItemOptionType", b => + { + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.GameConfiguration", null) + .WithMany("RawItemOptionTypes") + .HasForeignKey("GameConfigurationId") + .OnDelete(DeleteBehavior.Cascade); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.ItemPriceDefinition", b => + { + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.GameConfiguration", null) + .WithMany("RawItemPriceDefinitions") + .HasForeignKey("GameConfigurationId") + .OnDelete(DeleteBehavior.Cascade); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.ItemRequirementFormula", b => + { + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.AttributeDefinition", "RawAttribute") + .WithMany() + .HasForeignKey("AttributeId"); + + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.ItemStatProfile", null) + .WithMany("RawRequirementFormulas") + .HasForeignKey("ItemStatProfileId") + .OnDelete(DeleteBehavior.Cascade); + + b.Navigation("RawAttribute"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.ItemSetGroup", b => + { + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.GameConfiguration", null) + .WithMany("RawItemSetGroups") + .HasForeignKey("GameConfigurationId") + .OnDelete(DeleteBehavior.Cascade); + + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.ItemOptionDefinition", "RawOptions") + .WithMany() + .HasForeignKey("OptionsId"); + + b.Navigation("RawOptions"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.ItemSlotType", b => + { + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.GameConfiguration", null) + .WithMany("RawItemSlotTypes") + .HasForeignKey("GameConfigurationId") + .OnDelete(DeleteBehavior.Cascade); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.ItemStatProfile", b => + { + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.GameConfiguration", null) + .WithMany("RawItemStatProfiles") + .HasForeignKey("GameConfigurationId") + .OnDelete(DeleteBehavior.Cascade); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.ItemStatTerms", b => + { + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.AttributeDefinition", "RawAttribute") + .WithMany() + .HasForeignKey("AttributeId"); + + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.ItemStatProfile", null) + .WithMany("RawStatTerms") + .HasForeignKey("ItemStatProfileId") + .OnDelete(DeleteBehavior.Cascade); + + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.ItemLevelBonusTable", "RawTable") + .WithMany() + .HasForeignKey("TableId"); + + b.Navigation("RawAttribute"); + + b.Navigation("RawTable"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.JewelMix", b => + { + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.GameConfiguration", null) + .WithMany("RawJewelMixes") + .HasForeignKey("GameConfigurationId") + .OnDelete(DeleteBehavior.Cascade); + + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.ItemDefinition", "RawMixedJewel") + .WithMany() + .HasForeignKey("MixedJewelId"); + + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.ItemDefinition", "RawSingleJewel") + .WithMany() + .HasForeignKey("SingleJewelId"); + + b.Navigation("RawMixedJewel"); + + b.Navigation("RawSingleJewel"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.LetterBody", b => + { + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.LetterHeader", "RawHeader") + .WithMany() + .HasForeignKey("HeaderId"); + + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.AppearanceData", "RawSenderAppearance") + .WithOne() + .HasForeignKey("MUnique.OpenMU.Persistence.EntityFramework.Model.LetterBody", "SenderAppearanceId") + .OnDelete(DeleteBehavior.Cascade); + + b.Navigation("RawHeader"); + + b.Navigation("RawSenderAppearance"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.LetterHeader", b => + { + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.Character", "Receiver") + .WithMany("RawLetters") + .HasForeignKey("ReceiverId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Receiver"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.LevelBonus", b => + { + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.ItemLevelBonusTable", null) + .WithMany("RawBonusPerLevel") + .HasForeignKey("ItemLevelBonusTableId") + .OnDelete(DeleteBehavior.Cascade); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.MagicEffectDefinition", b => + { + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.PowerUpDefinitionValue", "RawChance") + .WithOne() + .HasForeignKey("MUnique.OpenMU.Persistence.EntityFramework.Model.MagicEffectDefinition", "ChanceId") + .OnDelete(DeleteBehavior.Cascade); + + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.PowerUpDefinitionValue", "RawChancePvp") + .WithOne() + .HasForeignKey("MUnique.OpenMU.Persistence.EntityFramework.Model.MagicEffectDefinition", "ChancePvpId") + .OnDelete(DeleteBehavior.Cascade); + + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.PowerUpDefinitionValue", "RawDuration") + .WithOne() + .HasForeignKey("MUnique.OpenMU.Persistence.EntityFramework.Model.MagicEffectDefinition", "DurationId") + .OnDelete(DeleteBehavior.Cascade); + + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.PowerUpDefinitionValue", "RawDurationPvp") + .WithOne() + .HasForeignKey("MUnique.OpenMU.Persistence.EntityFramework.Model.MagicEffectDefinition", "DurationPvpId") + .OnDelete(DeleteBehavior.Cascade); + + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.GameConfiguration", null) + .WithMany("RawMagicEffects") + .HasForeignKey("GameConfigurationId") + .OnDelete(DeleteBehavior.Cascade); + + b.Navigation("RawChance"); + + b.Navigation("RawChancePvp"); + + b.Navigation("RawDuration"); + + b.Navigation("RawDurationPvp"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.MasterSkillDefinition", b => + { + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.Skill", "RawReplacedSkill") + .WithMany() + .HasForeignKey("ReplacedSkillId"); + + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.MasterSkillRoot", "RawRoot") + .WithMany() + .HasForeignKey("RootId"); + + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.AttributeDefinition", "RawTargetAttribute") + .WithMany() + .HasForeignKey("TargetAttributeId"); + + b.Navigation("RawReplacedSkill"); + + b.Navigation("RawRoot"); + + b.Navigation("RawTargetAttribute"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.MasterSkillDefinitionSkill", b => + { + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.MasterSkillDefinition", "MasterSkillDefinition") + .WithMany("JoinedRequiredMasterSkills") + .HasForeignKey("MasterSkillDefinitionId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.Skill", "Skill") + .WithMany() + .HasForeignKey("SkillId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("MasterSkillDefinition"); + + b.Navigation("Skill"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.MasterSkillRoot", b => + { + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.GameConfiguration", null) + .WithMany("RawMasterSkillRoots") + .HasForeignKey("GameConfigurationId") + .OnDelete(DeleteBehavior.Cascade); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.MiniGameChangeEvent", b => + { + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.MiniGameDefinition", null) + .WithMany("RawChangeEvents") + .HasForeignKey("MiniGameDefinitionId") + .OnDelete(DeleteBehavior.Cascade); + + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.MonsterSpawnArea", "RawSpawnArea") + .WithOne() + .HasForeignKey("MUnique.OpenMU.Persistence.EntityFramework.Model.MiniGameChangeEvent", "SpawnAreaId") + .OnDelete(DeleteBehavior.Cascade); + + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.MonsterDefinition", "RawTargetDefinition") + .WithMany() + .HasForeignKey("TargetDefinitionId"); + + b.Navigation("RawSpawnArea"); + + b.Navigation("RawTargetDefinition"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.MiniGameDefinition", b => + { + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.ExitGate", "RawEntrance") + .WithMany() + .HasForeignKey("EntranceId"); + + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.ItemDefinition", "RawFreeTicketItem") + .WithMany() + .HasForeignKey("FreeTicketItemId"); + + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.GameConfiguration", null) + .WithMany("RawMiniGameDefinitions") + .HasForeignKey("GameConfigurationId") + .OnDelete(DeleteBehavior.Cascade); + + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.ItemDefinition", "RawTicketItem") + .WithMany() + .HasForeignKey("TicketItemId"); + + b.Navigation("RawEntrance"); + + b.Navigation("RawFreeTicketItem"); + + b.Navigation("RawTicketItem"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.MiniGameRankingEntry", b => + { + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.Character", "RawCharacter") + .WithMany() + .HasForeignKey("CharacterId") + .OnDelete(DeleteBehavior.Cascade); + + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.MiniGameDefinition", "RawMiniGame") + .WithMany() + .HasForeignKey("MiniGameId") + .OnDelete(DeleteBehavior.Cascade); + + b.Navigation("RawCharacter"); + + b.Navigation("RawMiniGame"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.MiniGameReward", b => + { + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.DropItemGroup", "RawItemReward") + .WithMany() + .HasForeignKey("ItemRewardId"); + + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.MiniGameDefinition", null) + .WithMany("RawRewards") + .HasForeignKey("MiniGameDefinitionId") + .OnDelete(DeleteBehavior.Cascade); + + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.MonsterDefinition", "RawRequiredKill") + .WithMany() + .HasForeignKey("RequiredKillId"); + + b.Navigation("RawItemReward"); + + b.Navigation("RawRequiredKill"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.MiniGameSpawnWave", b => + { + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.MiniGameDefinition", null) + .WithMany("RawSpawnWaves") + .HasForeignKey("MiniGameDefinitionId") + .OnDelete(DeleteBehavior.Cascade); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.MiniGameTerrainChange", b => + { + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.MiniGameChangeEvent", null) + .WithMany("RawTerrainChanges") + .HasForeignKey("MiniGameChangeEventId") + .OnDelete(DeleteBehavior.Cascade); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.MonsterAttribute", b => + { + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.AttributeDefinition", "RawAttributeDefinition") + .WithMany() + .HasForeignKey("AttributeDefinitionId"); + + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.MonsterDefinition", null) + .WithMany("RawAttributes") + .HasForeignKey("MonsterDefinitionId") + .OnDelete(DeleteBehavior.Cascade); + + b.Navigation("RawAttributeDefinition"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.MonsterDefinition", b => + { + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.Skill", "RawAttackSkill") + .WithMany() + .HasForeignKey("AttackSkillId"); + + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.GameConfiguration", null) + .WithMany("RawMonsters") + .HasForeignKey("GameConfigurationId") + .OnDelete(DeleteBehavior.Cascade); + + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.ItemStorage", "RawMerchantStore") + .WithOne() + .HasForeignKey("MUnique.OpenMU.Persistence.EntityFramework.Model.MonsterDefinition", "MerchantStoreId") + .OnDelete(DeleteBehavior.Cascade); + + b.Navigation("RawAttackSkill"); + + b.Navigation("RawMerchantStore"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.MonsterDefinitionDropItemGroup", b => + { + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.DropItemGroup", "DropItemGroup") + .WithMany() + .HasForeignKey("DropItemGroupId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.MonsterDefinition", "MonsterDefinition") + .WithMany("JoinedDropItemGroups") + .HasForeignKey("MonsterDefinitionId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("DropItemGroup"); + + b.Navigation("MonsterDefinition"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.MonsterSpawnArea", b => + { + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.GameMapDefinition", "RawGameMap") + .WithMany("RawMonsterSpawns") + .HasForeignKey("GameMapId") + .OnDelete(DeleteBehavior.Cascade); + + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.MonsterDefinition", "RawMonsterDefinition") + .WithMany() + .HasForeignKey("MonsterDefinitionId"); + + b.Navigation("RawGameMap"); + + b.Navigation("RawMonsterDefinition"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.PlugInConfiguration", b => + { + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.GameConfiguration", null) + .WithMany("RawPlugInConfigurations") + .HasForeignKey("GameConfigurationId") + .OnDelete(DeleteBehavior.Cascade); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.PowerUpDefinition", b => + { + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.PowerUpDefinitionValue", "RawBoost") + .WithOne() + .HasForeignKey("MUnique.OpenMU.Persistence.EntityFramework.Model.PowerUpDefinition", "BoostId") + .OnDelete(DeleteBehavior.Cascade); + + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.GameMapDefinition", null) + .WithMany("RawCharacterPowerUpDefinitions") + .HasForeignKey("GameMapDefinitionId") + .OnDelete(DeleteBehavior.Cascade); + + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.MagicEffectDefinition", null) + .WithMany("RawPowerUpDefinitions") + .HasForeignKey("MagicEffectDefinitionId") + .OnDelete(DeleteBehavior.Cascade); + + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.MagicEffectDefinition", null) + .WithMany("RawPowerUpDefinitionsPvp") + .HasForeignKey("MagicEffectDefinitionId1") + .OnDelete(DeleteBehavior.Cascade) + .HasConstraintName("FK_PowerUpDefinition_MagicEffectDefinition_MagicEffectDefinit~1"); + + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.MasterSkillDefinition", null) + .WithMany("RawPassivePowerUps") + .HasForeignKey("MasterSkillDefinitionId") + .OnDelete(DeleteBehavior.Cascade); + + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.AttributeDefinition", "RawTargetAttribute") + .WithMany() + .HasForeignKey("TargetAttributeId"); + + b.Navigation("RawBoost"); + + b.Navigation("RawTargetAttribute"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.QuestDefinition", b => + { + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.MonsterDefinition", null) + .WithMany("RawQuests") + .HasForeignKey("MonsterDefinitionId") + .OnDelete(DeleteBehavior.Cascade); + + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.CharacterClass", "RawQualifiedCharacter") + .WithMany() + .HasForeignKey("QualifiedCharacterId"); + + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.MonsterDefinition", "RawQuestGiver") + .WithMany() + .HasForeignKey("QuestGiverId"); + + b.Navigation("RawQualifiedCharacter"); + + b.Navigation("RawQuestGiver"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.QuestItemRequirement", b => + { + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.DropItemGroup", "RawDropItemGroup") + .WithMany() + .HasForeignKey("DropItemGroupId"); + + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.ItemDefinition", "RawItem") + .WithMany() + .HasForeignKey("ItemId"); + + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.QuestDefinition", null) + .WithMany("RawRequiredItems") + .HasForeignKey("QuestDefinitionId") + .OnDelete(DeleteBehavior.Cascade); + + b.Navigation("RawDropItemGroup"); + + b.Navigation("RawItem"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.QuestMonsterKillRequirement", b => + { + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.MonsterDefinition", "RawMonster") + .WithMany() + .HasForeignKey("MonsterId"); + + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.QuestDefinition", null) + .WithMany("RawRequiredMonsterKills") + .HasForeignKey("QuestDefinitionId") + .OnDelete(DeleteBehavior.Cascade); + + b.Navigation("RawMonster"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.QuestMonsterKillRequirementState", b => + { + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.CharacterQuestState", null) + .WithMany("RawRequirementStates") + .HasForeignKey("CharacterQuestStateId") + .OnDelete(DeleteBehavior.Cascade); + + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.QuestMonsterKillRequirement", "RawRequirement") + .WithMany() + .HasForeignKey("RequirementId"); + + b.Navigation("RawRequirement"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.QuestReward", b => + { + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.AttributeDefinition", "RawAttributeReward") + .WithMany() + .HasForeignKey("AttributeRewardId"); + + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.Item", "RawItemReward") + .WithOne() + .HasForeignKey("MUnique.OpenMU.Persistence.EntityFramework.Model.QuestReward", "ItemRewardId") + .OnDelete(DeleteBehavior.Cascade); + + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.QuestDefinition", null) + .WithMany("RawRewards") + .HasForeignKey("QuestDefinitionId") + .OnDelete(DeleteBehavior.Cascade); + + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.Skill", "RawSkillReward") + .WithMany() + .HasForeignKey("SkillRewardId"); + + b.Navigation("RawAttributeReward"); + + b.Navigation("RawItemReward"); + + b.Navigation("RawSkillReward"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.Skill", b => + { + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.AreaSkillSettings", "RawAreaSkillSettings") + .WithOne() + .HasForeignKey("MUnique.OpenMU.Persistence.EntityFramework.Model.Skill", "AreaSkillSettingsId") + .OnDelete(DeleteBehavior.Cascade); + + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.AttributeDefinition", "RawElementalModifierTarget") + .WithMany() + .HasForeignKey("ElementalModifierTargetId"); + + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.GameConfiguration", null) + .WithMany("RawSkills") + .HasForeignKey("GameConfigurationId") + .OnDelete(DeleteBehavior.Cascade); + + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.MagicEffectDefinition", "RawMagicEffectDef") + .WithMany() + .HasForeignKey("MagicEffectDefId"); + + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.MasterSkillDefinition", "RawMasterDefinition") + .WithOne() + .HasForeignKey("MUnique.OpenMU.Persistence.EntityFramework.Model.Skill", "MasterDefinitionId") + .OnDelete(DeleteBehavior.Cascade); + + b.Navigation("RawAreaSkillSettings"); + + b.Navigation("RawElementalModifierTarget"); + + b.Navigation("RawMagicEffectDef"); + + b.Navigation("RawMasterDefinition"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.SkillCharacterClass", b => + { + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.CharacterClass", "CharacterClass") + .WithMany() + .HasForeignKey("CharacterClassId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.Skill", "Skill") + .WithMany("JoinedQualifiedCharacters") + .HasForeignKey("SkillId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("CharacterClass"); + + b.Navigation("Skill"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.SkillComboStep", b => + { + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.SkillComboDefinition", null) + .WithMany("RawSteps") + .HasForeignKey("SkillComboDefinitionId") + .OnDelete(DeleteBehavior.Cascade); + + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.Skill", "RawSkill") + .WithMany() + .HasForeignKey("SkillId"); + + b.Navigation("RawSkill"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.SkillEntry", b => + { + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.Character", null) + .WithMany("RawLearnedSkills") + .HasForeignKey("CharacterId") + .OnDelete(DeleteBehavior.Cascade); + + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.Skill", "RawSkill") + .WithMany() + .HasForeignKey("SkillId"); + + b.Navigation("RawSkill"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.StatAttribute", b => + { + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.Account", null) + .WithMany("RawAttributes") + .HasForeignKey("AccountId") + .OnDelete(DeleteBehavior.Cascade); + + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.Character", null) + .WithMany("RawAttributes") + .HasForeignKey("CharacterId") + .OnDelete(DeleteBehavior.Cascade); + + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.AttributeDefinition", "RawDefinition") + .WithMany() + .HasForeignKey("DefinitionId"); + + b.Navigation("RawDefinition"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.StatAttributeDefinition", b => + { + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.AttributeDefinition", "RawAttribute") + .WithMany() + .HasForeignKey("AttributeId"); + + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.CharacterClass", null) + .WithMany("RawStatAttributes") + .HasForeignKey("CharacterClassId") + .OnDelete(DeleteBehavior.Cascade); + + b.Navigation("RawAttribute"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.WarpInfo", b => + { + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.GameConfiguration", null) + .WithMany("RawWarpList") + .HasForeignKey("GameConfigurationId") + .OnDelete(DeleteBehavior.Cascade); + + b.HasOne("MUnique.OpenMU.Persistence.EntityFramework.Model.ExitGate", "RawGate") + .WithMany() + .HasForeignKey("GateId"); + + b.Navigation("RawGate"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.Account", b => + { + b.Navigation("JoinedUnlockedCharacterClasses"); + + b.Navigation("RawAttributeGrants"); + + b.Navigation("RawAttributes"); + + b.Navigation("RawCharacters"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.AppearanceData", b => + { + b.Navigation("RawEquippedItems"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.CashShopConfiguration", b => + { + b.Navigation("RawPackages"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.CashShopPackage", b => + { + b.Navigation("RawProducts"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.CastleSiegeConfiguration", b => + { + b.Navigation("RawAttackMachineZones"); + + b.Navigation("RawDefenseMachineZones"); + + b.Navigation("RawGateDefenseUpgrades"); + + b.Navigation("RawGateLifeUpgrades"); + + b.Navigation("RawNpcDefinitions"); + + b.Navigation("RawStateSchedule"); + + b.Navigation("RawStatueDefenseUpgrades"); + + b.Navigation("RawStatueLifeUpgrades"); + + b.Navigation("RawStatueRegenUpgrades"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.CastleSiegeData", b => + { + b.Navigation("RawGuilds"); + + b.Navigation("RawNpcStates"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.Character", b => + { + b.Navigation("JoinedDropItemGroups"); + + b.Navigation("RawAttributes"); + + b.Navigation("RawLearnedSkills"); + + b.Navigation("RawLetters"); + + b.Navigation("RawQuestStates"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.CharacterClass", b => + { + b.Navigation("RawAttributeCombinations"); + + b.Navigation("RawBaseAttributeValues"); + + b.Navigation("RawStatAttributes"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.CharacterQuestState", b => + { + b.Navigation("RawRequirementStates"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.ChatServerDefinition", b => + { + b.Navigation("RawEndpoints"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.DropItemGroup", b => + { + b.Navigation("JoinedPossibleItems"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.DuelConfiguration", b => + { + b.Navigation("RawDuelAreas"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.GameConfiguration", b => + { + b.Navigation("RawAttributes"); + + b.Navigation("RawCharacterClasses"); + + b.Navigation("RawDropItemGroups"); + + b.Navigation("RawGlobalAttributeCombinations"); + + b.Navigation("RawGlobalBaseAttributeValues"); + + b.Navigation("RawItemLevelBonusTables"); + + b.Navigation("RawItemOptionCombinationBonuses"); + + b.Navigation("RawItemOptionTypes"); + + b.Navigation("RawItemOptions"); + + b.Navigation("RawItemPriceDefinitions"); + + b.Navigation("RawItemSetGroups"); + + b.Navigation("RawItemSlotTypes"); + + b.Navigation("RawItemStatProfiles"); + + b.Navigation("RawItems"); + + b.Navigation("RawJewelMixes"); + + b.Navigation("RawMagicEffects"); + + b.Navigation("RawMaps"); + + b.Navigation("RawMasterSkillRoots"); + + b.Navigation("RawMiniGameDefinitions"); + + b.Navigation("RawMonsters"); + + b.Navigation("RawPlugInConfigurations"); + + b.Navigation("RawSkills"); + + b.Navigation("RawWarpList"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.GameMapDefinition", b => + { + b.Navigation("JoinedDropItemGroups"); + + b.Navigation("RawCharacterPowerUpDefinitions"); + + b.Navigation("RawEnterGates"); + + b.Navigation("RawExitGates"); + + b.Navigation("RawMapRequirements"); + + b.Navigation("RawMonsterSpawns"); + + b.Navigation("RawTerrainVariants"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.GameServerConfiguration", b => + { + b.Navigation("JoinedMaps"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.GameServerDefinition", b => + { + b.Navigation("RawEndpoints"); + + b.Navigation("RawJoinRequirements"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.Guild", b => + { + b.Navigation("RawMembers"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.IncreasableItemOption", b => + { + b.Navigation("RawLevelDependentOptions"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.Item", b => + { + b.Navigation("JoinedItemSetGroups"); + + b.Navigation("RawItemOptions"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.ItemAppearance", b => + { + b.Navigation("JoinedVisibleOptions"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.ItemCraftingRequiredItem", b => + { + b.Navigation("JoinedPossibleItems"); + + b.Navigation("JoinedRequiredItemOptions"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.ItemDefinition", b => + { + b.Navigation("JoinedPossibleItemOptions"); + + b.Navigation("JoinedPossibleItemSetGroups"); + + b.Navigation("JoinedQualifiedCharacters"); + + b.Navigation("RawBasePowerUpAttributes"); + + b.Navigation("RawDropItems"); + + b.Navigation("RawRequirements"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.ItemDropItemGroup", b => + { + b.Navigation("JoinedPossibleItems"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.ItemLevelBonusTable", b => + { + b.Navigation("RawBonusPerLevel"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.ItemOptionCombinationBonus", b => + { + b.Navigation("RawRequirements"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.ItemOptionDefinition", b => + { + b.Navigation("RawPossibleOptions"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.ItemPriceDefinition", b => + { + b.Navigation("RawPricePerLevel"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.ItemSetGroup", b => + { + b.Navigation("RawItems"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.ItemStatProfile", b => + { + b.Navigation("RawRequirementFormulas"); + + b.Navigation("RawStatTerms"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.ItemStorage", b => + { + b.Navigation("RawItems"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.MagicEffectDefinition", b => + { + b.Navigation("RawPowerUpDefinitions"); + + b.Navigation("RawPowerUpDefinitionsPvp"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.MasterSkillDefinition", b => + { + b.Navigation("JoinedRequiredMasterSkills"); + + b.Navigation("RawPassivePowerUps"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.MiniGameChangeEvent", b => + { + b.Navigation("RawTerrainChanges"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.MiniGameDefinition", b => + { + b.Navigation("RawChangeEvents"); + + b.Navigation("RawRewards"); + + b.Navigation("RawSpawnWaves"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.MonsterDefinition", b => + { + b.Navigation("JoinedDropItemGroups"); + + b.Navigation("RawAttributes"); + + b.Navigation("RawBuffs"); + + b.Navigation("RawItemCraftings"); + + b.Navigation("RawQuests"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.PowerUpDefinitionValue", b => + { + b.Navigation("RawRelatedValues"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.QuestDefinition", b => + { + b.Navigation("RawRequiredItems"); + + b.Navigation("RawRequiredMonsterKills"); + + b.Navigation("RawRewards"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.SimpleCraftingSettings", b => + { + b.Navigation("RawRequiredItems"); + + b.Navigation("RawResultItems"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.Skill", b => + { + b.Navigation("JoinedQualifiedCharacters"); + + b.Navigation("RawAttributeRelationships"); + + b.Navigation("RawConsumeRequirements"); + + b.Navigation("RawRequirements"); + }); + + modelBuilder.Entity("MUnique.OpenMU.Persistence.EntityFramework.Model.SkillComboDefinition", b => + { + b.Navigation("RawSteps"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/src/Persistence/EntityFramework/Migrations/20261113114020_AddWarpInfoIsWarpable.cs b/src/Persistence/EntityFramework/Migrations/20261113114020_AddWarpInfoIsWarpable.cs new file mode 100644 index 0000000000..9e147e822d --- /dev/null +++ b/src/Persistence/EntityFramework/Migrations/20261113114020_AddWarpInfoIsWarpable.cs @@ -0,0 +1,34 @@ +using Microsoft.EntityFrameworkCore.Migrations; + +#nullable disable + +namespace MUnique.OpenMU.Persistence.EntityFramework.Migrations +{ + /// + /// Adds the flag whether players can use a warp. Existing warps stay usable; the update + /// "Restrict warps outside of the original warp window" restricts the ones of the original client. + /// + public partial class AddWarpInfoIsWarpable : Migration + { + /// + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.AddColumn( + name: "IsWarpable", + schema: "config", + table: "WarpInfo", + type: "boolean", + nullable: false, + defaultValue: true); + } + + /// + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropColumn( + name: "IsWarpable", + schema: "config", + table: "WarpInfo"); + } + } +} diff --git a/src/Persistence/EntityFramework/Migrations/EntityDataContextModelSnapshot.cs b/src/Persistence/EntityFramework/Migrations/EntityDataContextModelSnapshot.cs index 697707d5f5..bebb3c3b34 100644 --- a/src/Persistence/EntityFramework/Migrations/EntityDataContextModelSnapshot.cs +++ b/src/Persistence/EntityFramework/Migrations/EntityDataContextModelSnapshot.cs @@ -4622,6 +4622,9 @@ protected override void BuildModel(ModelBuilder modelBuilder) b.Property("Index") .HasColumnType("integer"); + b.Property("IsWarpable") + .HasColumnType("boolean"); + b.Property("LevelRequirement") .HasColumnType("integer"); diff --git a/src/Persistence/EntityFramework/Model/BasicModelConverter.Generated.cs b/src/Persistence/EntityFramework/Model/BasicModelConverter.Generated.cs index cb6f05144d..a65eb01d99 100644 --- a/src/Persistence/EntityFramework/Model/BasicModelConverter.Generated.cs +++ b/src/Persistence/EntityFramework/Model/BasicModelConverter.Generated.cs @@ -3292,6 +3292,7 @@ private BasicModel.WarpInfo Convert(WarpInfo source) target.Name = source.Name; target.Costs = source.Costs; target.LevelRequirement = source.LevelRequirement; + target.IsWarpable = source.IsWarpable; target.Gate = (MUnique.OpenMU.DataModel.Configuration.ExitGate)this.ConvertObject(source.Gate)!; return target; } diff --git a/src/Persistence/Initialization/Properties/PlugInResources.Designer.cs b/src/Persistence/Initialization/Properties/PlugInResources.Designer.cs index ee63f47429..17ddf20d5b 100644 --- a/src/Persistence/Initialization/Properties/PlugInResources.Designer.cs +++ b/src/Persistence/Initialization/Properties/PlugInResources.Designer.cs @@ -1043,6 +1043,12 @@ public static string DataInitialization095d_Name { /// Gets the localized FixMurenRingOfFireBonusPlugIn_Description text. public static string FixMurenRingOfFireBonusPlugIn_Description => ResourceManager.GetString("FixMurenRingOfFireBonusPlugIn_Description", resourceCulture)!; + /// Gets the localized RestrictWarpsOutsideOfOriginalWarpWindowPlugIn_Name text. + public static string RestrictWarpsOutsideOfOriginalWarpWindowPlugIn_Name => ResourceManager.GetString("RestrictWarpsOutsideOfOriginalWarpWindowPlugIn_Name", resourceCulture)!; + + /// Gets the localized RestrictWarpsOutsideOfOriginalWarpWindowPlugIn_Description text. + public static string RestrictWarpsOutsideOfOriginalWarpWindowPlugIn_Description => ResourceManager.GetString("RestrictWarpsOutsideOfOriginalWarpWindowPlugIn_Description", resourceCulture)!; + /// Gets the localized FixDestroyPhantomArmorNamesPlugIn_Name text. public static string FixDestroyPhantomArmorNamesPlugIn_Name => ResourceManager.GetString("FixDestroyPhantomArmorNamesPlugIn_Name", resourceCulture)!; diff --git a/src/Persistence/Initialization/Properties/PlugInResources.de.resx b/src/Persistence/Initialization/Properties/PlugInResources.de.resx index 32c51a42f5..8315e6eeed 100644 --- a/src/Persistence/Initialization/Properties/PlugInResources.de.resx +++ b/src/Persistence/Initialization/Properties/PlugInResources.de.resx @@ -911,6 +911,8 @@ Diese Aktualisierung fügt den Talisman des Glücks hinzu, der die Erfolgsrate einer Kombination um seine Haltbarkeit in Prozent erhöht, und den Talisman der Chaos-Kombination, der den Gegenstand einer fehlgeschlagenen Verbesserung auf +10 bis +15 erhält. Sie werden den Kombinationen hinzugefügt, die sie annehmen, und die Pakete des Item-Shops, die sie enthalten, werden zum Verkauf angeboten. + Warps außerhalb des ursprünglichen Warp-Fensters einschränken + Macht die Warps, die der ursprüngliche Client nicht in seinem Warp-Fenster anbietet (Crywolf, Loren Market und der zweite LaCleon-Warp), nur für Game Master verfügbar. Bonus des Muren-Feuerrings korrigieren diff --git a/src/Persistence/Initialization/Properties/PlugInResources.resx b/src/Persistence/Initialization/Properties/PlugInResources.resx index 823937c200..26c6d20f95 100644 --- a/src/Persistence/Initialization/Properties/PlugInResources.resx +++ b/src/Persistence/Initialization/Properties/PlugInResources.resx @@ -434,6 +434,8 @@ This update adds the Talisman of Luck, which increases the success rate of a crafting by its durability in percent, and the Talisman of Chaos Assembly, which keeps the item of a failed +10 to +15 item upgrade. They are added to the craftings which accept them, and the packages of the in-game shop which contain them are put on sale. Fix Muren Ring of Fire Bonus Gives the Ring of Fire of the Muren ancient set its energy bonus, which was initialized as vitality. + Restrict warps outside of the original warp window + Makes the warps which the original client doesn't offer in its warp window (Crywolf, Loren Market and the second LaCleon warp) available to game masters only. Fix Destroy and Phantom Armor Names Swaps the names of the Phantom (47) and Destroy (48) armor sets and of their set bonuses, which were initialized with each other's name, and corrects the spelling "Destory". Add invitation to santa village diff --git a/src/Persistence/Initialization/Updates/FixWarpLevelUpdatePlugIn.cs b/src/Persistence/Initialization/Updates/FixWarpLevelUpdatePlugIn.cs index caecb75bb9..f973cdf23b 100644 --- a/src/Persistence/Initialization/Updates/FixWarpLevelUpdatePlugIn.cs +++ b/src/Persistence/Initialization/Updates/FixWarpLevelUpdatePlugIn.cs @@ -96,6 +96,9 @@ protected override async ValueTask ApplyAsync(IContext context, GameConfiguratio laCleon.Name = "LaCleon"; laCleon.Costs = 15000; laCleon.LevelRequirement = 280; + + // The original client offers LaCleon with the index 34 (Raklion), which leads to the same gate. + laCleon.IsWarpable = false; laCleon.Gate = gameConfiguration.Maps .FirstOrDefault(m => m.Name.ValueInNeutralLanguage == "LaCleon") ?.ExitGates.FirstOrDefault(g => g.X1 == 222); diff --git a/src/Persistence/Initialization/Updates/RestrictWarpsOutsideOfOriginalWarpWindowPlugIn.cs b/src/Persistence/Initialization/Updates/RestrictWarpsOutsideOfOriginalWarpWindowPlugIn.cs new file mode 100644 index 0000000000..cff3ef7933 --- /dev/null +++ b/src/Persistence/Initialization/Updates/RestrictWarpsOutsideOfOriginalWarpWindowPlugIn.cs @@ -0,0 +1,75 @@ +// +// Licensed under the MIT License. See LICENSE file in the project root for full license information. +// + +namespace MUnique.OpenMU.Persistence.Initialization.Updates; + +using System.Runtime.InteropServices; +using MUnique.OpenMU.DataModel.Configuration; +using MUnique.OpenMU.Persistence.Initialization.VersionSeasonSix.Maps; +using MUnique.OpenMU.PlugIns; + +/// +/// This update makes the warps which the original client doesn't offer in its warp window available to game +/// masters only (see ), like a new season 6 database has them: Crywolf (26), +/// which is reached by walking, Loren Market (44), which is reached through an NPC, and LaCleon (48), which +/// the client offers as index 34. +/// +/// +/// It's optional, because it changes what the players of a running server can do: these warps were available +/// to them before, e.g. with the move chat command. A warp whose map was changed is left alone. +/// +[PlugIn] +[Display(Name = nameof(MUnique.OpenMU.Persistence.Initialization.Properties.PlugInResources.RestrictWarpsOutsideOfOriginalWarpWindowPlugIn_Name), Description = nameof(MUnique.OpenMU.Persistence.Initialization.Properties.PlugInResources.RestrictWarpsOutsideOfOriginalWarpWindowPlugIn_Description), ResourceType = typeof(MUnique.OpenMU.Persistence.Initialization.Properties.PlugInResources))] +[Guid("B1F16CD8-C941-403E-A4B8-18C5F303EF14")] +public class RestrictWarpsOutsideOfOriginalWarpWindowPlugIn : UpdatePlugInBase +{ + /// + /// The plug in name. + /// + internal const string PlugInName = "Restrict warps outside of the original warp window"; + + /// + /// The plug in description. + /// + internal const string PlugInDescription = "Makes the warps which the original client doesn't offer in its warp window (Crywolf, Loren Market and the second LaCleon warp) available to game masters only."; + + /// + /// The indexes of the warps and the numbers of the maps they lead to. + /// + private static readonly IReadOnlyDictionary Warps = new Dictionary + { + { 26, CrywolfFortress.Number }, + { 44, LorenMarket.Number }, + { 48, Raklion.Number }, + }; + + /// + public override string Name => PlugInName; + + /// + public override string Description => PlugInDescription; + + /// + public override string DataInitializationKey => VersionSeasonSix.DataInitialization.Id; + + /// + public override bool IsMandatory => false; + + /// + public override DateTime CreatedAt => new(2026, 11, 13, 12, 0, 0, DateTimeKind.Utc); + + /// + protected override ValueTask ApplyAsync(IContext context, GameConfiguration gameConfiguration) + { + foreach (var warp in gameConfiguration.WarpList) + { + if (Warps.TryGetValue(warp.Index, out var mapNumber) && warp.Gate?.Map?.Number == mapNumber) + { + warp.IsWarpable = false; + } + } + + return ValueTask.CompletedTask; + } +} diff --git a/src/Persistence/Initialization/VersionSeasonSix/Events/CrywolfInitializer.cs b/src/Persistence/Initialization/VersionSeasonSix/Events/CrywolfInitializer.cs index eab57e29a7..99660c8a7a 100644 --- a/src/Persistence/Initialization/VersionSeasonSix/Events/CrywolfInitializer.cs +++ b/src/Persistence/Initialization/VersionSeasonSix/Events/CrywolfInitializer.cs @@ -170,6 +170,9 @@ internal void CreateWarpEntry() warpInfo.Costs = 10000; warpInfo.LevelRequirement = 190; warpInfo.Gate = gate; + + // The original client doesn't offer it in its warp window: Crywolf is reached by walking. + warpInfo.IsWarpable = false; this.GameConfiguration.WarpList.Add(warpInfo); } diff --git a/src/Persistence/Initialization/VersionSeasonSix/Gates.cs b/src/Persistence/Initialization/VersionSeasonSix/Gates.cs index e8ad2d7307..7f59a80625 100644 --- a/src/Persistence/Initialization/VersionSeasonSix/Gates.cs +++ b/src/Persistence/Initialization/VersionSeasonSix/Gates.cs @@ -74,7 +74,7 @@ private void CreateWarpEntries(IDictionary gates) this.GameConfiguration.WarpList.Add(this.CreateWarpInfo(22, LocalizedString.FromResource(() => WarpNames.Tarkan2), 8500, 140, gates[77])); this.GameConfiguration.WarpList.Add(this.CreateWarpInfo(23, LocalizedString.FromResource(() => WarpNames.Icarus), 10000, 170, gates[63])); this.GameConfiguration.WarpList.Add(this.CreateWarpInfo(25, LocalizedString.FromResource(() => WarpNames.Aida1), 8500, 150, gates[119])); - this.GameConfiguration.WarpList.Add(this.CreateWarpInfo(26, LocalizedString.FromResource(() => WarpNames.Crywolf), 10000, 190, gates[118])); + this.GameConfiguration.WarpList.Add(this.CreateWarpInfo(26, LocalizedString.FromResource(() => WarpNames.Crywolf), 10000, 190, gates[118], isWarpable: false)); this.GameConfiguration.WarpList.Add(this.CreateWarpInfo(27, LocalizedString.FromResource(() => WarpNames.Aida2), 8500, 150, gates[140])); this.GameConfiguration.WarpList.Add(this.CreateWarpInfo(28, LocalizedString.FromResource(() => WarpNames.KanturuRuins1), 9000, 160, gates[138])); this.GameConfiguration.WarpList.Add(this.CreateWarpInfo(29, LocalizedString.FromResource(() => WarpNames.KanturuRuins2), 9000, 160, gates[141])); @@ -84,15 +84,28 @@ private void CreateWarpEntries(IDictionary gates) this.GameConfiguration.WarpList.Add(this.CreateWarpInfo(33, LocalizedString.FromResource(() => WarpNames.PeaceSwamp), 15000, 400, gates[273])); this.GameConfiguration.WarpList.Add(this.CreateWarpInfo(34, LocalizedString.FromResource(() => WarpNames.Raklion), 15000, 280, gates[287])); this.GameConfiguration.WarpList.Add(this.CreateWarpInfo(42, LocalizedString.FromResource(() => WarpNames.Vulcanus), 15000, 30, gates[294])); - this.GameConfiguration.WarpList.Add(this.CreateWarpInfo(44, LocalizedString.FromResource(() => WarpNames.LorenMarket), 18000, 200, gates[333])); + this.GameConfiguration.WarpList.Add(this.CreateWarpInfo(44, LocalizedString.FromResource(() => WarpNames.LorenMarket), 18000, 200, gates[333], isWarpable: false)); this.GameConfiguration.WarpList.Add(this.CreateWarpInfo(43, LocalizedString.FromResource(() => WarpNames.Elveland3), 3000, 10, gates[269])); this.GameConfiguration.WarpList.Add(this.CreateWarpInfo(45, LocalizedString.FromResource(() => WarpNames.KanturuRuins3), 15000, 160, gates[334])); this.GameConfiguration.WarpList.Add(this.CreateWarpInfo(46, LocalizedString.FromResource(() => WarpNames.Karutan1), 13000, 170, gates[335])); this.GameConfiguration.WarpList.Add(this.CreateWarpInfo(47, LocalizedString.FromResource(() => WarpNames.Karutan2), 14000, 170, gates[344])); - this.GameConfiguration.WarpList.Add(this.CreateWarpInfo(48, LocalizedString.FromResource(() => WarpNames.LaCleon), 15000, 280, gates[287])); + this.GameConfiguration.WarpList.Add(this.CreateWarpInfo(48, LocalizedString.FromResource(() => WarpNames.LaCleon), 15000, 280, gates[287], isWarpable: false)); } - private WarpInfo CreateWarpInfo(ushort index, LocalizedString name, int costs, int levelRequirement, ExitGate gate) + /// + /// Creates a warp list entry. + /// + /// The index which the client sends in the warp request. + /// The name. + /// The costs in zen. + /// The level requirement. + /// The target gate. + /// + /// false for the warps which the original client doesn't offer in its warp window, e.g. because the map + /// is reached by walking (Crywolf) or through an NPC (Loren Market), see . + /// + /// The created warp list entry. + private WarpInfo CreateWarpInfo(ushort index, LocalizedString name, int costs, int levelRequirement, ExitGate gate, bool isWarpable = true) { var warpInfo = this.Context.CreateNew(); warpInfo.Index = index; @@ -100,6 +113,7 @@ private WarpInfo CreateWarpInfo(ushort index, LocalizedString name, int costs, i warpInfo.Costs = costs; warpInfo.LevelRequirement = levelRequirement; warpInfo.Gate = gate; + warpInfo.IsWarpable = isWarpable; return warpInfo; } diff --git a/tests/MUnique.OpenMU.Network.Packets.Tests/ServerToClientPacketTests.cs b/tests/MUnique.OpenMU.Network.Packets.Tests/ServerToClientPacketTests.cs index 6f3d8d70a5..ed260ec011 100644 --- a/tests/MUnique.OpenMU.Network.Packets.Tests/ServerToClientPacketTests.cs +++ b/tests/MUnique.OpenMU.Network.Packets.Tests/ServerToClientPacketTests.cs @@ -7210,6 +7210,20 @@ public void ExternalChatMessage_PacketSizeValidation() "GetRequiredSize calculation incorrect for string field"); } + /// + /// Tests the packet size calculation for WarpListExtended. + /// + [Test] + public void WarpListExtended_PacketSizeValidation() + { + // Basic packet validation + // Validate header type and field boundaries + + // Field 'Count' starts at index 5 with size 1 + Assert.That(5, Is.GreaterThanOrEqualTo(0), + "Field 'Count' has invalid negative index"); + } + /// /// Tests the packet size calculation for EventChipRegistrationResult. /// diff --git a/tests/MUnique.OpenMU.Persistence.Initialization.Tests/WarpableWarpsTest.cs b/tests/MUnique.OpenMU.Persistence.Initialization.Tests/WarpableWarpsTest.cs new file mode 100644 index 0000000000..d7d4b6f859 --- /dev/null +++ b/tests/MUnique.OpenMU.Persistence.Initialization.Tests/WarpableWarpsTest.cs @@ -0,0 +1,71 @@ +// +// Licensed under the MIT License. See LICENSE file in the project root for full license information. +// + +namespace MUnique.OpenMU.Persistence.Initialization.Tests; + +using Microsoft.Extensions.Logging.Abstractions; +using MUnique.OpenMU.DataModel.Configuration; +using MUnique.OpenMU.Persistence.Initialization.Updates; +using MUnique.OpenMU.Persistence.InMemory; + +/// +/// Tests that the season 6 warps which the original client doesn't offer in its warp window are only +/// available to game masters, in a new database and after the update. +/// +[TestFixture] +internal class WarpableWarpsTest +{ + private static readonly int[] WarpsOutsideOfOriginalWarpWindow = [26, 44, 48]; + + /// + /// Tests that a new season 6 database has Crywolf, Loren Market and the second LaCleon warp + /// not warpable, and all other warps warpable. + /// + [Test] + public async Task NewDatabaseHasWarpsOutsideOfOriginalWarpWindowNotWarpableAsync() + { + var (context, gameConfiguration) = await CreateSeason6ConfigurationAsync().ConfigureAwait(false); + using var _ = context; + + var notWarpable = gameConfiguration.WarpList.Where(warp => !warp.IsWarpable).Select(warp => warp.Index).Order(); + + Assert.That(notWarpable, Is.EqualTo(WarpsOutsideOfOriginalWarpWindow)); + } + + /// + /// Tests that the update makes these warps not warpable in a database which has them warpable, that + /// it leaves a warp alone whose map was changed, and that applying it twice keeps the result. + /// + [Test] + public async Task UpdateMakesWarpsOutsideOfOriginalWarpWindowNotWarpableAsync() + { + var (context, gameConfiguration) = await CreateSeason6ConfigurationAsync().ConfigureAwait(false); + using var _ = context; + foreach (var warp in gameConfiguration.WarpList) + { + warp.IsWarpable = true; + } + + var lorenMarket = gameConfiguration.WarpList.Single(warp => warp.Index == 44); + lorenMarket.Gate = gameConfiguration.WarpList.Single(warp => warp.Index == 2).Gate; // changed by an admin + + var update = new RestrictWarpsOutsideOfOriginalWarpWindowPlugIn(); + await update.ApplyUpdateAsync(context, gameConfiguration).ConfigureAwait(false); + await update.ApplyUpdateAsync(context, gameConfiguration).ConfigureAwait(false); + + var notWarpable = gameConfiguration.WarpList.Where(warp => !warp.IsWarpable).Select(warp => warp.Index).Order(); + Assert.That(notWarpable, Is.EqualTo(new[] { 26, 48 })); + } + + private static async Task<(IContext Context, GameConfiguration GameConfiguration)> CreateSeason6ConfigurationAsync() + { + var contextProvider = new InMemoryPersistenceContextProvider(); + var dataInitialization = new VersionSeasonSix.DataInitialization(contextProvider, new NullLoggerFactory()); + await dataInitialization.CreateInitialDataAsync(1, true).ConfigureAwait(false); + + var context = contextProvider.CreateNewContext(); + var gameConfiguration = (await context.GetAsync().ConfigureAwait(false)).First(); + return (context, gameConfiguration); + } +} diff --git a/tests/MUnique.OpenMU.Tests/PlayerTestHelper.cs b/tests/MUnique.OpenMU.Tests/PlayerTestHelper.cs index 5c18beff48..5837ca582d 100644 --- a/tests/MUnique.OpenMU.Tests/PlayerTestHelper.cs +++ b/tests/MUnique.OpenMU.Tests/PlayerTestHelper.cs @@ -49,6 +49,7 @@ public static GameConfiguration CreateGameConfiguration() gameConfig.Setup(c => c.Skills).Returns(new List()); gameConfig.Setup(c => c.PlugInConfigurations).Returns(new List()); gameConfig.Setup(c => c.CharacterClasses).Returns(new List()); + gameConfig.Setup(c => c.WarpList).Returns(new List()); gameConfig.Setup(c => c.GlobalAttributeCombinations).Returns(new List()); gameConfig.Setup(c => c.GlobalBaseAttributeValues).Returns(new List { diff --git a/tests/MUnique.OpenMU.Tests/WarpListTests.cs b/tests/MUnique.OpenMU.Tests/WarpListTests.cs new file mode 100644 index 0000000000..99c4cc2b6e --- /dev/null +++ b/tests/MUnique.OpenMU.Tests/WarpListTests.cs @@ -0,0 +1,215 @@ +// +// Licensed under the MIT License. See LICENSE file in the project root for full license information. +// + +namespace MUnique.OpenMU.Tests; + +using System.Globalization; +using Moq; +using MUnique.OpenMU.DataModel.Configuration; +using MUnique.OpenMU.GameLogic; +using MUnique.OpenMU.GameLogic.PlayerActions; +using MUnique.OpenMU.GameLogic.PlugIns; +using MUnique.OpenMU.GameLogic.Properties; +using MUnique.OpenMU.GameLogic.Views; +using MUnique.OpenMU.GameLogic.Views.World; +using MUnique.OpenMU.GameServer.RemoteView.World; +using MUnique.OpenMU.Interfaces; +using MUnique.OpenMU.Network.Packets.ServerToClient; +using MUnique.OpenMU.Network.PlugIns; + +/// +/// Tests for sending the warp list of the server to the open source client. +/// +[TestFixture] +public class WarpListTests +{ + /// + /// Tests that the values of the warps are written into the fields of the packet, with the name + /// in the language of the player. + /// + [Test] + public async Task WarpListIsWrittenAsync() + { + var (player, output) = CastleSiegeRemoteViewTestHelper.CreatePlayer(); + player.Culture = CultureInfo.GetCultureInfo("de"); + var view = new ShowWarpListExtendedPlugIn(player); + WarpInfo[] warps = + [ + CreateWarp(26, "Crywolf", 34, 190, 10000), + CreateWarp(5, "Lost Tower||de=Verlorener Turm", 4, 50, 5000), + ]; + + await view.ShowWarpListAsync(warps).ConfigureAwait(false); + + var data = output.ToArray(); + var packet = new WarpListExtendedRef(data); + Assert.That(data.Length, Is.EqualTo(WarpListExtendedRef.GetRequiredSize(2))); + Assert.That(packet.Header.Type, Is.EqualTo(0xC2)); + Assert.That(packet.Header.Length, Is.EqualTo(data.Length)); + Assert.That(packet.Header.Code, Is.EqualTo(0xF5)); + Assert.That(packet.Header.SubCode, Is.EqualTo(0x09)); + Assert.That(packet.Count, Is.EqualTo(2)); + Assert.That( + (packet[0].Index, packet[0].MapNumber, packet[0].LevelRequirement, packet[0].Costs, packet[0].Name), + Is.EqualTo(((ushort)26, (ushort)34, (ushort)190, 10000u, "Crywolf"))); + Assert.That( + (packet[1].Index, packet[1].MapNumber, packet[1].LevelRequirement, packet[1].Costs, packet[1].Name), + Is.EqualTo(((ushort)5, (ushort)4, (ushort)50, 5000u, "Verlorener Turm"))); + } + + /// + /// Tests that a name which doesn't fit into the name field is shortened to the whole characters which fit, + /// instead of failing to write the packet. + /// + [Test] + public void LongNameIsShortenedToWholeCharacters() + { + var thirtyOne = new string('a', 31); + + Assert.That(ShowWarpListExtendedPlugIn.FitIntoNameField("Lorencia"), Is.EqualTo("Lorencia")); + Assert.That(ShowWarpListExtendedPlugIn.FitIntoNameField(new string('a', 32)), Is.EqualTo(new string('a', 32))); + Assert.That(ShowWarpListExtendedPlugIn.FitIntoNameField(thirtyOne + "é"), Is.EqualTo(thirtyOne), "'é' takes two bytes, which don't fit anymore"); + Assert.That(ShowWarpListExtendedPlugIn.FitIntoNameField(new string('洛', 11)), Is.EqualTo(new string('洛', 10)), "each takes three bytes"); + } + + /// + /// Tests that a long name doesn't break the packet. + /// + [Test] + public async Task WarpListWithLongNameIsWrittenAsync() + { + var (player, output) = CastleSiegeRemoteViewTestHelper.CreatePlayer(); + var view = new ShowWarpListExtendedPlugIn(player); + + await view.ShowWarpListAsync([CreateWarp(1, new string('x', 40), 0, 10, 2000)]).ConfigureAwait(false); + + var packet = new WarpListExtendedRef(output.ToArray()); + Assert.That(packet[0].Name, Is.EqualTo(new string('x', 32))); + } + + /// + /// Tests that only the open source client gets the warp list. + /// + /// The season of the client version. + /// If set to true, the client is expected to get the warp list. + [TestCase(6, false)] + [TestCase(106, true)] + public void OnlyTheOpenSourceClientGetsTheWarpList(byte season, bool expected) + { + var (player, _) = CastleSiegeRemoteViewTestHelper.CreatePlayer(); + player.GameContext.PlugInManager.RegisterPlugIn(); + player.ClientVersion = new ClientVersion(season, 3, ClientLanguage.English); + + Assert.That(player.ViewPlugIns.GetPlugIn() is not null, Is.EqualTo(expected)); + } + + /// + /// Tests that the selectable warps are ordered by their index, that warps without a map are left out, + /// and that of warps with the same index only the first one is included. + /// + [Test] + public void SelectableWarps() + { + var first = CreateWarp(3, "First", 2, 10, 2000); + var second = CreateWarp(3, "Second", 2, 10, 2000); + var withoutMap = CreateWarp(1, "Without map", 0, 10, 2000); + withoutMap.Gate!.Map = null; + var lowerIndex = CreateWarp(2, "Lower index", 1, 10, 2000); + + var warps = ShowWarpListAfterEnterWorldPlugIn.GetSelectableWarps([first, withoutMap, second, lowerIndex]); + + Assert.That(warps, Is.EqualTo(new[] { lowerIndex, first })); + } + + /// + /// Tests that warps which players can't use are left out, also when they're the first one of their index. + /// + [Test] + public void WarpsWhichArentWarpableAreLeftOut() + { + var warpable = CreateWarp(34, "Raklion", 57, 280, 15000); + var notWarpable = CreateWarp(48, "LaCleon", 57, 280, 15000); + notWarpable.IsWarpable = false; + var notWarpableFirst = CreateWarp(5, "Not warpable first", 4, 10, 2000); + notWarpableFirst.IsWarpable = false; + var warpableSecond = CreateWarp(5, "Warpable second", 4, 10, 2000); + + var warps = ShowWarpListAfterEnterWorldPlugIn.GetSelectableWarps([warpable, notWarpable, notWarpableFirst, warpableSecond]); + + Assert.That(warps, Is.EqualTo(new[] { warpable }), "the warp request of index 5 would use the first one"); + } + + /// + /// Tests that a player can't use a warp which isn't warpable: it's refused with a message, and the costs aren't paid. + /// + [Test] + public async Task PlayerCantUseWarpWhichIsntWarpableAsync() + { + var player = await PlayerTestHelper.CreatePlayerAsync().ConfigureAwait(false); + player.Money = 100000; + var warp = CreateWarp(26, "Crywolf", 0, 1, 10000); + warp.IsWarpable = false; + + await new WarpAction().WarpToAsync(player, warp).ConfigureAwait(false); + + var message = player.GetLocalizedMessage(nameof(PlayerMessage.WarpOnlyForGameMasters)); + var view = Mock.Get(player.ViewPlugIns.GetPlugIn()!); + view.Verify(v => v.ShowMessageAsync(message, MessageType.BlueNormal), Times.Once); + Assert.That(player.Money, Is.EqualTo(100000)); + } + + /// + /// Tests that a game master isn't refused a warp which isn't warpable. + /// + [Test] + public async Task GameMasterCanUseWarpWhichIsntWarpableAsync() + { + var player = await PlayerTestHelper.CreatePlayerAsync().ConfigureAwait(false); + player.SelectedCharacter!.CharacterStatus = DataModel.Entities.CharacterStatus.GameMaster; + var warp = CreateWarp(26, "Crywolf", 0, 1, 10000); + warp.IsWarpable = false; + + await new WarpAction().WarpToAsync(player, warp).ConfigureAwait(false); + + var message = player.GetLocalizedMessage(nameof(PlayerMessage.WarpOnlyForGameMasters)); + var view = Mock.Get(player.ViewPlugIns.GetPlugIn()!); + view.Verify(v => v.ShowMessageAsync(message, It.IsAny()), Times.Never); + } + + /// + /// Tests that the warp list is shown when the character entered the game, and not when the player + /// gets back into the world after a map change. + /// + /// The name of the previous state. + /// If set to true, the warp list is expected to be shown. + [TestCase(nameof(PlayerState.CharacterSelection), true)] + [TestCase(nameof(PlayerState.ChangingMap), false)] + public async Task WarpListIsShownAfterEnteringTheGameAsync(string previous, bool expected) + { + var player = await PlayerTestHelper.CreatePlayerAsync().ConfigureAwait(false); + var warp = CreateWarp(26, "Crywolf", 34, 190, 10000); + Mock.Get(player.GameContext.Configuration).Setup(c => c.WarpList).Returns(new List { warp }); + var previousState = (State)typeof(PlayerState).GetProperty(previous)!.GetValue(null)!; + var plugIn = new ShowWarpListAfterEnterWorldPlugIn(); + + await plugIn.PlayerStateChangedAsync(player, previousState, PlayerState.EnteredWorld).ConfigureAwait(false); + + var view = Mock.Get(player.ViewPlugIns.GetPlugIn()!); + view.Verify( + v => v.ShowWarpListAsync(It.Is>(warps => warps.Single() == warp)), + expected ? Times.Once() : Times.Never()); + } + + private static WarpInfo CreateWarp(int index, string name, short mapNumber, int level, int costs) + { + return new WarpInfo + { + Index = index, + Name = name, + LevelRequirement = level, + Costs = costs, + Gate = new ExitGate { Map = new Persistence.BasicModel.GameMapDefinition { Number = mapNumber } }, + }; + } +}