From 5f1ed74951f40db0d416d8fd8bb848a794c62a8c Mon Sep 17 00:00:00 2001 From: sven-n Date: Mon, 3 Apr 2023 21:35:31 +0200 Subject: [PATCH] Adapted initialization data for wandering NPCs --- .../Updates/SpawnFixesUpdatePlugIn.cs | 158 ++++++++++++++ .../Version075/Maps/Lorencia.cs | 4 +- .../VersionSeasonSix/Maps/Atlans.cs | 11 + .../VersionSeasonSix/Maps/ChaosCastle1.cs | 198 +++++++++--------- .../VersionSeasonSix/Maps/CrywolfFortress.cs | 14 +- .../VersionSeasonSix/Maps/Devias.cs | 3 +- .../VersionSeasonSix/Maps/Elvenland.cs | 2 +- .../VersionSeasonSix/Maps/Lorencia.cs | 3 +- .../VersionSeasonSix/Maps/Noria.cs | 1 + 9 files changed, 283 insertions(+), 111 deletions(-) create mode 100644 src/Persistence/Initialization/Updates/SpawnFixesUpdatePlugIn.cs diff --git a/src/Persistence/Initialization/Updates/SpawnFixesUpdatePlugIn.cs b/src/Persistence/Initialization/Updates/SpawnFixesUpdatePlugIn.cs new file mode 100644 index 000000000..c56480204 --- /dev/null +++ b/src/Persistence/Initialization/Updates/SpawnFixesUpdatePlugIn.cs @@ -0,0 +1,158 @@ +// +// 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; + +/// +/// The chaos castle update plugin. +/// +[PlugIn(PlugInName, PlugInDescription)] +[Guid("15FB42DE-A032-49B5-98B8-4CF34744B3A6")] +public class SpawnFixesUpdatePlugIn : UpdatePlugInBase +{ + /// + /// The plug in name. + /// + internal const string PlugInName = "Spawn Points Fixes"; + + /// + /// The plug in description. + /// + internal const string PlugInDescription = "This updates the spawn points of NPCs. 1) Crywolf-Statues are fixed. 2) Wandering merchants and Marlon. 3) Spawn trigger in chaos castle 1"; + private const short MarlonNumber = 229; + private const short Wandering1Number = 248; + private const short Wandering2Number = 250; + private const short ZyroNumber = 568; + + /// + public override int Version => 5; + + /// + public override string DataInitializationKey => VersionSeasonSix.DataInitialization.Id; + + /// + public override string Name => PlugInName; + + /// + public override string Description => PlugInDescription; + + /// + public override bool IsMandatory => true; + + /// + public override DateTime CreatedAt => new(2023, 04, 03, 20, 0, 0, DateTimeKind.Utc); + + /// +#pragma warning disable CS1998 + protected override async ValueTask ApplyAsync(IContext context, GameConfiguration gameConfiguration) +#pragma warning restore CS1998 + { + var wanderingSpawns = gameConfiguration.Maps.SelectMany(m => m.MonsterSpawns.Where(s => s.MonsterDefinition?.Number is MarlonNumber or Wandering1Number or Wandering2Number or ZyroNumber)); + foreach (var spawn in wanderingSpawns) + { + spawn.SpawnTrigger = SpawnTrigger.Wandering; + } + + UpdateChaosCastle1(context, gameConfiguration); + UpdateCrywolf(context, gameConfiguration); + UpdateAtlans(context, gameConfiguration); + UpdateNoria(context, gameConfiguration); + UpdateDevias(context, gameConfiguration); + UpdateLorencia(context, gameConfiguration); + } + + private static void UpdateAtlans(IContext context, GameConfiguration gameConfiguration) + { + var atlans = gameConfiguration.Maps.First(m => m.Number == Atlans.Number); + var marlonAtlansSpawn = context.CreateNew(); + atlans.MonsterSpawns.Add(marlonAtlansSpawn); + marlonAtlansSpawn.SetGuid(10); + marlonAtlansSpawn.GameMap = atlans; + marlonAtlansSpawn.MonsterDefinition = gameConfiguration.Monsters.First(m => m.Number == MarlonNumber); + marlonAtlansSpawn.SpawnTrigger = SpawnTrigger.Wandering; + marlonAtlansSpawn.Direction = Direction.SouthEast; + marlonAtlansSpawn.X1 = 17; + marlonAtlansSpawn.X2 = 17; + marlonAtlansSpawn.Y1 = 35; + marlonAtlansSpawn.Y2 = 35; + } + + private static void UpdateNoria(IContext context, GameConfiguration gameConfiguration) + { + var noria = gameConfiguration.Maps.First(m => m.Number == Noria.Number); + var marlonSpawn = context.CreateNew(); + noria.MonsterSpawns.Add(marlonSpawn); + marlonSpawn.SetGuid(14); + marlonSpawn.GameMap = noria; + marlonSpawn.MonsterDefinition = gameConfiguration.Monsters.First(m => m.Number == MarlonNumber); + marlonSpawn.SpawnTrigger = SpawnTrigger.Wandering; + marlonSpawn.Direction = Direction.SouthEast; + marlonSpawn.X1 = 169; + marlonSpawn.X2 = 169; + marlonSpawn.Y1 = 88; + marlonSpawn.Y2 = 88; + } + + private static void UpdateDevias(IContext context, GameConfiguration gameConfiguration) + { + var devias = gameConfiguration.Maps.First(m => m.Number == Devias.Number); + var zyro = context.CreateNew(); + devias.MonsterSpawns.Add(zyro); + zyro.SetGuid(42); + zyro.GameMap = devias; + zyro.MonsterDefinition = gameConfiguration.Monsters.First(m => m.Number == ZyroNumber); + zyro.SpawnTrigger = SpawnTrigger.Wandering; + zyro.Direction = Direction.South; + zyro.X1 = 225; + zyro.X2 = 225; + zyro.Y1 = 52; + zyro.Y2 = 52; + + var marlon = devias.MonsterSpawns.First(s => s.MonsterDefinition?.Number == MarlonNumber); + marlon.SpawnTrigger = SpawnTrigger.Wandering; + marlon.X1 = 197; + marlon.X2 = 197; + marlon.Y1 = 48; + marlon.Y2 = 48; + } + + private static void UpdateLorencia(IContext context, GameConfiguration gameConfiguration) + { + var lorencia = gameConfiguration.Maps.First(m => m.Number == Lorencia.Number); + var zyro = context.CreateNew(); + lorencia.MonsterSpawns.Add(zyro); + zyro.SetGuid(26); + zyro.GameMap = lorencia; + zyro.MonsterDefinition = gameConfiguration.Monsters.First(m => m.Number == ZyroNumber); + zyro.SpawnTrigger = SpawnTrigger.Wandering; + zyro.Direction = Direction.South; + zyro.X1 = 131; + zyro.X2 = 131; + zyro.Y1 = 139; + zyro.Y2 = 139; + } + + private static void UpdateChaosCastle1(IContext context, GameConfiguration gameConfiguration) + { + var chaosCastle = gameConfiguration.Maps.First(m => m.Number == ChaosCastle1.Number); + foreach (var spawn in chaosCastle.MonsterSpawns) + { + spawn.SpawnTrigger = SpawnTrigger.ManuallyForEvent; + } + } + + private static void UpdateCrywolf(IContext context, GameConfiguration gameConfiguration) + { + var chaosCastle = gameConfiguration.Maps.First(m => m.Number == CrywolfFortress.Number); + foreach (var spawn in chaosCastle.MonsterSpawns.Where(s => s.MonsterDefinition?.Number is >= 204 and <= 209)) + { + spawn.SpawnTrigger = SpawnTrigger.OnceAtEventStart; + } + } +} \ No newline at end of file diff --git a/src/Persistence/Initialization/Version075/Maps/Lorencia.cs b/src/Persistence/Initialization/Version075/Maps/Lorencia.cs index f6b6ace64..6a8d08655 100644 --- a/src/Persistence/Initialization/Version075/Maps/Lorencia.cs +++ b/src/Persistence/Initialization/Version075/Maps/Lorencia.cs @@ -43,7 +43,7 @@ public Lorencia(IContext context, GameConfiguration gameConfiguration) /// protected override IEnumerable CreateNpcSpawns() { - yield return this.CreateMonsterSpawn(1, this.NpcDictionary[248], 6, 145, Direction.SouthEast); + yield return this.CreateMonsterSpawn(1, this.NpcDictionary[248], 6, 145, Direction.SouthEast, SpawnTrigger.Wandering); yield return this.CreateMonsterSpawn(2, this.NpcDictionary[240], 146, 110, Direction.SouthEast); yield return this.CreateMonsterSpawn(3, this.NpcDictionary[240], 147, 145, Direction.SouthWest); yield return this.CreateMonsterSpawn(4, this.NpcDictionary[249], 131, 88, Direction.SouthWest); @@ -52,7 +52,7 @@ protected override IEnumerable CreateNpcSpawns() yield return this.CreateMonsterSpawn(7, this.NpcDictionary[249], 94, 130, Direction.NorthWest); yield return this.CreateMonsterSpawn(8, this.NpcDictionary[249], 131, 148, Direction.SouthWest); yield return this.CreateMonsterSpawn(9, this.NpcDictionary[247], 114, 125, Direction.SouthEast); - yield return this.CreateMonsterSpawn(10, this.NpcDictionary[250], 183, 137, Direction.South); + yield return this.CreateMonsterSpawn(10, this.NpcDictionary[250], 183, 137, Direction.South, SpawnTrigger.Wandering); yield return this.CreateMonsterSpawn(11, this.NpcDictionary[251], 116, 141, Direction.SouthEast); yield return this.CreateMonsterSpawn(12, this.NpcDictionary[253], 127, 86, Direction.South); yield return this.CreateMonsterSpawn(13, this.NpcDictionary[254], 118, 113, Direction.SouthEast); diff --git a/src/Persistence/Initialization/VersionSeasonSix/Maps/Atlans.cs b/src/Persistence/Initialization/VersionSeasonSix/Maps/Atlans.cs index 6eb6d0507..0dfccb9b6 100644 --- a/src/Persistence/Initialization/VersionSeasonSix/Maps/Atlans.cs +++ b/src/Persistence/Initialization/VersionSeasonSix/Maps/Atlans.cs @@ -23,4 +23,15 @@ public Atlans(IContext context, GameConfiguration gameConfiguration) /// protected override string TerrainVersionPrefix => string.Empty; + + /// + protected override IEnumerable CreateNpcSpawns() + { + foreach (var npc in base.CreateNpcSpawns()) + { + yield return npc; + } + + yield return this.CreateMonsterSpawn(10, this.NpcDictionary[229], 17, 35, Direction.SouthEast, SpawnTrigger.Wandering); // Marlon + } } \ No newline at end of file diff --git a/src/Persistence/Initialization/VersionSeasonSix/Maps/ChaosCastle1.cs b/src/Persistence/Initialization/VersionSeasonSix/Maps/ChaosCastle1.cs index 9aeab955c..ef7b6e560 100644 --- a/src/Persistence/Initialization/VersionSeasonSix/Maps/ChaosCastle1.cs +++ b/src/Persistence/Initialization/VersionSeasonSix/Maps/ChaosCastle1.cs @@ -47,106 +47,106 @@ public ChaosCastle1(IContext context, GameConfiguration gameConfiguration) protected override IEnumerable CreateMonsterSpawns() { // Monsters: - yield return this.CreateMonsterSpawn(100, this.NpcDictionary[162], 026, 105, Direction.Undefined, SpawnTrigger.AutomaticDuringEvent); // Chaos Castle 1 - yield return this.CreateMonsterSpawn(101, this.NpcDictionary[162], 028, 090, Direction.Undefined, SpawnTrigger.AutomaticDuringEvent); // Chaos Castle 1 - yield return this.CreateMonsterSpawn(102, this.NpcDictionary[162], 028, 082, Direction.Undefined, SpawnTrigger.AutomaticDuringEvent); // Chaos Castle 1 - yield return this.CreateMonsterSpawn(103, this.NpcDictionary[162], 034, 078, Direction.Undefined, SpawnTrigger.AutomaticDuringEvent); // Chaos Castle 1 - yield return this.CreateMonsterSpawn(104, this.NpcDictionary[162], 039, 078, Direction.Undefined, SpawnTrigger.AutomaticDuringEvent); // Chaos Castle 1 - yield return this.CreateMonsterSpawn(105, this.NpcDictionary[162], 038, 080, Direction.Undefined, SpawnTrigger.AutomaticDuringEvent); // Chaos Castle 1 - yield return this.CreateMonsterSpawn(106, this.NpcDictionary[162], 038, 086, Direction.Undefined, SpawnTrigger.AutomaticDuringEvent); // Chaos Castle 1 - yield return this.CreateMonsterSpawn(107, this.NpcDictionary[162], 041, 082, Direction.Undefined, SpawnTrigger.AutomaticDuringEvent); // Chaos Castle 1 - yield return this.CreateMonsterSpawn(108, this.NpcDictionary[162], 032, 091, Direction.Undefined, SpawnTrigger.AutomaticDuringEvent); // Chaos Castle 1 - yield return this.CreateMonsterSpawn(109, this.NpcDictionary[162], 042, 090, Direction.Undefined, SpawnTrigger.AutomaticDuringEvent); // Chaos Castle 1 - yield return this.CreateMonsterSpawn(110, this.NpcDictionary[162], 030, 078, Direction.Undefined, SpawnTrigger.AutomaticDuringEvent); // Chaos Castle 1 - yield return this.CreateMonsterSpawn(111, this.NpcDictionary[162], 040, 098, Direction.Undefined, SpawnTrigger.AutomaticDuringEvent); // Chaos Castle 1 - yield return this.CreateMonsterSpawn(112, this.NpcDictionary[162], 033, 103, Direction.Undefined, SpawnTrigger.AutomaticDuringEvent); // Chaos Castle 1 - yield return this.CreateMonsterSpawn(113, this.NpcDictionary[162], 042, 105, Direction.Undefined, SpawnTrigger.AutomaticDuringEvent); // Chaos Castle 1 - yield return this.CreateMonsterSpawn(114, this.NpcDictionary[162], 035, 105, Direction.Undefined, SpawnTrigger.AutomaticDuringEvent); // Chaos Castle 1 - yield return this.CreateMonsterSpawn(115, this.NpcDictionary[162], 028, 097, Direction.Undefined, SpawnTrigger.AutomaticDuringEvent); // Chaos Castle 1 - yield return this.CreateMonsterSpawn(116, this.NpcDictionary[162], 028, 079, Direction.Undefined, SpawnTrigger.AutomaticDuringEvent); // Chaos Castle 1 - yield return this.CreateMonsterSpawn(117, this.NpcDictionary[162], 025, 082, Direction.Undefined, SpawnTrigger.AutomaticDuringEvent); // Chaos Castle 1 - yield return this.CreateMonsterSpawn(118, this.NpcDictionary[162], 033, 076, Direction.Undefined, SpawnTrigger.AutomaticDuringEvent); // Chaos Castle 1 - yield return this.CreateMonsterSpawn(119, this.NpcDictionary[162], 031, 080, Direction.Undefined, SpawnTrigger.AutomaticDuringEvent); // Chaos Castle 1 - yield return this.CreateMonsterSpawn(120, this.NpcDictionary[162], 038, 076, Direction.Undefined, SpawnTrigger.AutomaticDuringEvent); // Chaos Castle 1 - yield return this.CreateMonsterSpawn(121, this.NpcDictionary[162], 039, 082, Direction.Undefined, SpawnTrigger.AutomaticDuringEvent); // Chaos Castle 1 - yield return this.CreateMonsterSpawn(122, this.NpcDictionary[162], 042, 094, Direction.Undefined, SpawnTrigger.AutomaticDuringEvent); // Chaos Castle 1 - yield return this.CreateMonsterSpawn(123, this.NpcDictionary[162], 034, 090, Direction.Undefined, SpawnTrigger.AutomaticDuringEvent); // Chaos Castle 1 - yield return this.CreateMonsterSpawn(124, this.NpcDictionary[162], 030, 105, Direction.Undefined, SpawnTrigger.AutomaticDuringEvent); // Chaos Castle 1 - yield return this.CreateMonsterSpawn(125, this.NpcDictionary[162], 028, 100, Direction.Undefined, SpawnTrigger.AutomaticDuringEvent); // Chaos Castle 1 - yield return this.CreateMonsterSpawn(126, this.NpcDictionary[162], 035, 102, Direction.Undefined, SpawnTrigger.AutomaticDuringEvent); // Chaos Castle 1 - yield return this.CreateMonsterSpawn(127, this.NpcDictionary[162], 043, 096, Direction.Undefined, SpawnTrigger.AutomaticDuringEvent); // Chaos Castle 1 - yield return this.CreateMonsterSpawn(128, this.NpcDictionary[162], 025, 091, Direction.Undefined, SpawnTrigger.AutomaticDuringEvent); // Chaos Castle 1 - yield return this.CreateMonsterSpawn(129, this.NpcDictionary[162], 030, 098, Direction.Undefined, SpawnTrigger.AutomaticDuringEvent); // Chaos Castle 1 - yield return this.CreateMonsterSpawn(130, this.NpcDictionary[162], 041, 089, Direction.Undefined, SpawnTrigger.AutomaticDuringEvent); // Chaos Castle 1 - yield return this.CreateMonsterSpawn(131, this.NpcDictionary[162], 039, 095, Direction.Undefined, SpawnTrigger.AutomaticDuringEvent); // Chaos Castle 1 - yield return this.CreateMonsterSpawn(132, this.NpcDictionary[162], 029, 103, Direction.Undefined, SpawnTrigger.AutomaticDuringEvent); // Chaos Castle 1 - yield return this.CreateMonsterSpawn(133, this.NpcDictionary[162], 025, 097, Direction.Undefined, SpawnTrigger.AutomaticDuringEvent); // Chaos Castle 1 - yield return this.CreateMonsterSpawn(134, this.NpcDictionary[162], 027, 088, Direction.Undefined, SpawnTrigger.AutomaticDuringEvent); // Chaos Castle 1 - yield return this.CreateMonsterSpawn(135, this.NpcDictionary[162], 032, 089, Direction.Undefined, SpawnTrigger.AutomaticDuringEvent); // Chaos Castle 1 - yield return this.CreateMonsterSpawn(136, this.NpcDictionary[162], 037, 089, Direction.Undefined, SpawnTrigger.AutomaticDuringEvent); // Chaos Castle 1 - yield return this.CreateMonsterSpawn(137, this.NpcDictionary[162], 038, 099, Direction.Undefined, SpawnTrigger.AutomaticDuringEvent); // Chaos Castle 1 - yield return this.CreateMonsterSpawn(138, this.NpcDictionary[162], 043, 081, Direction.Undefined, SpawnTrigger.AutomaticDuringEvent); // Chaos Castle 1 - yield return this.CreateMonsterSpawn(139, this.NpcDictionary[162], 042, 075, Direction.Undefined, SpawnTrigger.AutomaticDuringEvent); // Chaos Castle 1 - yield return this.CreateMonsterSpawn(140, this.NpcDictionary[162], 024, 080, Direction.Undefined, SpawnTrigger.AutomaticDuringEvent); // Chaos Castle 1 - yield return this.CreateMonsterSpawn(141, this.NpcDictionary[162], 024, 089, Direction.Undefined, SpawnTrigger.AutomaticDuringEvent); // Chaos Castle 1 - yield return this.CreateMonsterSpawn(142, this.NpcDictionary[162], 024, 101, Direction.Undefined, SpawnTrigger.AutomaticDuringEvent); // Chaos Castle 1 - yield return this.CreateMonsterSpawn(143, this.NpcDictionary[162], 041, 096, Direction.Undefined, SpawnTrigger.AutomaticDuringEvent); // Chaos Castle 1 - yield return this.CreateMonsterSpawn(144, this.NpcDictionary[162], 041, 076, Direction.Undefined, SpawnTrigger.AutomaticDuringEvent); // Chaos Castle 1 - yield return this.CreateMonsterSpawn(145, this.NpcDictionary[162], 038, 096, Direction.Undefined, SpawnTrigger.AutomaticDuringEvent); // Chaos Castle 1 - yield return this.CreateMonsterSpawn(146, this.NpcDictionary[162], 032, 078, Direction.Undefined, SpawnTrigger.AutomaticDuringEvent); // Chaos Castle 1 - yield return this.CreateMonsterSpawn(147, this.NpcDictionary[162], 027, 104, Direction.Undefined, SpawnTrigger.AutomaticDuringEvent); // Chaos Castle 1 - yield return this.CreateMonsterSpawn(148, this.NpcDictionary[162], 044, 102, Direction.Undefined, SpawnTrigger.AutomaticDuringEvent); // Chaos Castle 1 - yield return this.CreateMonsterSpawn(149, this.NpcDictionary[162], 039, 093, Direction.Undefined, SpawnTrigger.AutomaticDuringEvent); // Chaos Castle 1 + yield return this.CreateMonsterSpawn(100, this.NpcDictionary[162], 026, 105, Direction.Undefined, SpawnTrigger.ManuallyForEvent); // Chaos Castle 1 + yield return this.CreateMonsterSpawn(101, this.NpcDictionary[162], 028, 090, Direction.Undefined, SpawnTrigger.ManuallyForEvent); // Chaos Castle 1 + yield return this.CreateMonsterSpawn(102, this.NpcDictionary[162], 028, 082, Direction.Undefined, SpawnTrigger.ManuallyForEvent); // Chaos Castle 1 + yield return this.CreateMonsterSpawn(103, this.NpcDictionary[162], 034, 078, Direction.Undefined, SpawnTrigger.ManuallyForEvent); // Chaos Castle 1 + yield return this.CreateMonsterSpawn(104, this.NpcDictionary[162], 039, 078, Direction.Undefined, SpawnTrigger.ManuallyForEvent); // Chaos Castle 1 + yield return this.CreateMonsterSpawn(105, this.NpcDictionary[162], 038, 080, Direction.Undefined, SpawnTrigger.ManuallyForEvent); // Chaos Castle 1 + yield return this.CreateMonsterSpawn(106, this.NpcDictionary[162], 038, 086, Direction.Undefined, SpawnTrigger.ManuallyForEvent); // Chaos Castle 1 + yield return this.CreateMonsterSpawn(107, this.NpcDictionary[162], 041, 082, Direction.Undefined, SpawnTrigger.ManuallyForEvent); // Chaos Castle 1 + yield return this.CreateMonsterSpawn(108, this.NpcDictionary[162], 032, 091, Direction.Undefined, SpawnTrigger.ManuallyForEvent); // Chaos Castle 1 + yield return this.CreateMonsterSpawn(109, this.NpcDictionary[162], 042, 090, Direction.Undefined, SpawnTrigger.ManuallyForEvent); // Chaos Castle 1 + yield return this.CreateMonsterSpawn(110, this.NpcDictionary[162], 030, 078, Direction.Undefined, SpawnTrigger.ManuallyForEvent); // Chaos Castle 1 + yield return this.CreateMonsterSpawn(111, this.NpcDictionary[162], 040, 098, Direction.Undefined, SpawnTrigger.ManuallyForEvent); // Chaos Castle 1 + yield return this.CreateMonsterSpawn(112, this.NpcDictionary[162], 033, 103, Direction.Undefined, SpawnTrigger.ManuallyForEvent); // Chaos Castle 1 + yield return this.CreateMonsterSpawn(113, this.NpcDictionary[162], 042, 105, Direction.Undefined, SpawnTrigger.ManuallyForEvent); // Chaos Castle 1 + yield return this.CreateMonsterSpawn(114, this.NpcDictionary[162], 035, 105, Direction.Undefined, SpawnTrigger.ManuallyForEvent); // Chaos Castle 1 + yield return this.CreateMonsterSpawn(115, this.NpcDictionary[162], 028, 097, Direction.Undefined, SpawnTrigger.ManuallyForEvent); // Chaos Castle 1 + yield return this.CreateMonsterSpawn(116, this.NpcDictionary[162], 028, 079, Direction.Undefined, SpawnTrigger.ManuallyForEvent); // Chaos Castle 1 + yield return this.CreateMonsterSpawn(117, this.NpcDictionary[162], 025, 082, Direction.Undefined, SpawnTrigger.ManuallyForEvent); // Chaos Castle 1 + yield return this.CreateMonsterSpawn(118, this.NpcDictionary[162], 033, 076, Direction.Undefined, SpawnTrigger.ManuallyForEvent); // Chaos Castle 1 + yield return this.CreateMonsterSpawn(119, this.NpcDictionary[162], 031, 080, Direction.Undefined, SpawnTrigger.ManuallyForEvent); // Chaos Castle 1 + yield return this.CreateMonsterSpawn(120, this.NpcDictionary[162], 038, 076, Direction.Undefined, SpawnTrigger.ManuallyForEvent); // Chaos Castle 1 + yield return this.CreateMonsterSpawn(121, this.NpcDictionary[162], 039, 082, Direction.Undefined, SpawnTrigger.ManuallyForEvent); // Chaos Castle 1 + yield return this.CreateMonsterSpawn(122, this.NpcDictionary[162], 042, 094, Direction.Undefined, SpawnTrigger.ManuallyForEvent); // Chaos Castle 1 + yield return this.CreateMonsterSpawn(123, this.NpcDictionary[162], 034, 090, Direction.Undefined, SpawnTrigger.ManuallyForEvent); // Chaos Castle 1 + yield return this.CreateMonsterSpawn(124, this.NpcDictionary[162], 030, 105, Direction.Undefined, SpawnTrigger.ManuallyForEvent); // Chaos Castle 1 + yield return this.CreateMonsterSpawn(125, this.NpcDictionary[162], 028, 100, Direction.Undefined, SpawnTrigger.ManuallyForEvent); // Chaos Castle 1 + yield return this.CreateMonsterSpawn(126, this.NpcDictionary[162], 035, 102, Direction.Undefined, SpawnTrigger.ManuallyForEvent); // Chaos Castle 1 + yield return this.CreateMonsterSpawn(127, this.NpcDictionary[162], 043, 096, Direction.Undefined, SpawnTrigger.ManuallyForEvent); // Chaos Castle 1 + yield return this.CreateMonsterSpawn(128, this.NpcDictionary[162], 025, 091, Direction.Undefined, SpawnTrigger.ManuallyForEvent); // Chaos Castle 1 + yield return this.CreateMonsterSpawn(129, this.NpcDictionary[162], 030, 098, Direction.Undefined, SpawnTrigger.ManuallyForEvent); // Chaos Castle 1 + yield return this.CreateMonsterSpawn(130, this.NpcDictionary[162], 041, 089, Direction.Undefined, SpawnTrigger.ManuallyForEvent); // Chaos Castle 1 + yield return this.CreateMonsterSpawn(131, this.NpcDictionary[162], 039, 095, Direction.Undefined, SpawnTrigger.ManuallyForEvent); // Chaos Castle 1 + yield return this.CreateMonsterSpawn(132, this.NpcDictionary[162], 029, 103, Direction.Undefined, SpawnTrigger.ManuallyForEvent); // Chaos Castle 1 + yield return this.CreateMonsterSpawn(133, this.NpcDictionary[162], 025, 097, Direction.Undefined, SpawnTrigger.ManuallyForEvent); // Chaos Castle 1 + yield return this.CreateMonsterSpawn(134, this.NpcDictionary[162], 027, 088, Direction.Undefined, SpawnTrigger.ManuallyForEvent); // Chaos Castle 1 + yield return this.CreateMonsterSpawn(135, this.NpcDictionary[162], 032, 089, Direction.Undefined, SpawnTrigger.ManuallyForEvent); // Chaos Castle 1 + yield return this.CreateMonsterSpawn(136, this.NpcDictionary[162], 037, 089, Direction.Undefined, SpawnTrigger.ManuallyForEvent); // Chaos Castle 1 + yield return this.CreateMonsterSpawn(137, this.NpcDictionary[162], 038, 099, Direction.Undefined, SpawnTrigger.ManuallyForEvent); // Chaos Castle 1 + yield return this.CreateMonsterSpawn(138, this.NpcDictionary[162], 043, 081, Direction.Undefined, SpawnTrigger.ManuallyForEvent); // Chaos Castle 1 + yield return this.CreateMonsterSpawn(139, this.NpcDictionary[162], 042, 075, Direction.Undefined, SpawnTrigger.ManuallyForEvent); // Chaos Castle 1 + yield return this.CreateMonsterSpawn(140, this.NpcDictionary[162], 024, 080, Direction.Undefined, SpawnTrigger.ManuallyForEvent); // Chaos Castle 1 + yield return this.CreateMonsterSpawn(141, this.NpcDictionary[162], 024, 089, Direction.Undefined, SpawnTrigger.ManuallyForEvent); // Chaos Castle 1 + yield return this.CreateMonsterSpawn(142, this.NpcDictionary[162], 024, 101, Direction.Undefined, SpawnTrigger.ManuallyForEvent); // Chaos Castle 1 + yield return this.CreateMonsterSpawn(143, this.NpcDictionary[162], 041, 096, Direction.Undefined, SpawnTrigger.ManuallyForEvent); // Chaos Castle 1 + yield return this.CreateMonsterSpawn(144, this.NpcDictionary[162], 041, 076, Direction.Undefined, SpawnTrigger.ManuallyForEvent); // Chaos Castle 1 + yield return this.CreateMonsterSpawn(145, this.NpcDictionary[162], 038, 096, Direction.Undefined, SpawnTrigger.ManuallyForEvent); // Chaos Castle 1 + yield return this.CreateMonsterSpawn(146, this.NpcDictionary[162], 032, 078, Direction.Undefined, SpawnTrigger.ManuallyForEvent); // Chaos Castle 1 + yield return this.CreateMonsterSpawn(147, this.NpcDictionary[162], 027, 104, Direction.Undefined, SpawnTrigger.ManuallyForEvent); // Chaos Castle 1 + yield return this.CreateMonsterSpawn(148, this.NpcDictionary[162], 044, 102, Direction.Undefined, SpawnTrigger.ManuallyForEvent); // Chaos Castle 1 + yield return this.CreateMonsterSpawn(149, this.NpcDictionary[162], 039, 093, Direction.Undefined, SpawnTrigger.ManuallyForEvent); // Chaos Castle 1 - yield return this.CreateMonsterSpawn(150, this.NpcDictionary[163], 026, 098, Direction.Undefined, SpawnTrigger.AutomaticDuringEvent); // Chaos Castle 2 - yield return this.CreateMonsterSpawn(151, this.NpcDictionary[163], 027, 086, Direction.Undefined, SpawnTrigger.AutomaticDuringEvent); // Chaos Castle 2 - yield return this.CreateMonsterSpawn(152, this.NpcDictionary[163], 026, 079, Direction.Undefined, SpawnTrigger.AutomaticDuringEvent); // Chaos Castle 2 - yield return this.CreateMonsterSpawn(153, this.NpcDictionary[163], 033, 081, Direction.Undefined, SpawnTrigger.AutomaticDuringEvent); // Chaos Castle 2 - yield return this.CreateMonsterSpawn(154, this.NpcDictionary[163], 026, 077, Direction.Undefined, SpawnTrigger.AutomaticDuringEvent); // Chaos Castle 2 - yield return this.CreateMonsterSpawn(155, this.NpcDictionary[163], 043, 077, Direction.Undefined, SpawnTrigger.AutomaticDuringEvent); // Chaos Castle 2 - yield return this.CreateMonsterSpawn(156, this.NpcDictionary[163], 043, 084, Direction.Undefined, SpawnTrigger.AutomaticDuringEvent); // Chaos Castle 2 - yield return this.CreateMonsterSpawn(157, this.NpcDictionary[163], 027, 094, Direction.Undefined, SpawnTrigger.AutomaticDuringEvent); // Chaos Castle 2 - yield return this.CreateMonsterSpawn(158, this.NpcDictionary[163], 029, 084, Direction.Undefined, SpawnTrigger.AutomaticDuringEvent); // Chaos Castle 2 - yield return this.CreateMonsterSpawn(159, this.NpcDictionary[163], 044, 087, Direction.Undefined, SpawnTrigger.AutomaticDuringEvent); // Chaos Castle 2 - yield return this.CreateMonsterSpawn(160, this.NpcDictionary[163], 038, 092, Direction.Undefined, SpawnTrigger.AutomaticDuringEvent); // Chaos Castle 2 - yield return this.CreateMonsterSpawn(161, this.NpcDictionary[163], 029, 101, Direction.Undefined, SpawnTrigger.AutomaticDuringEvent); // Chaos Castle 2 - yield return this.CreateMonsterSpawn(162, this.NpcDictionary[163], 038, 089, Direction.Undefined, SpawnTrigger.AutomaticDuringEvent); // Chaos Castle 2 - yield return this.CreateMonsterSpawn(163, this.NpcDictionary[163], 042, 099, Direction.Undefined, SpawnTrigger.AutomaticDuringEvent); // Chaos Castle 2 - yield return this.CreateMonsterSpawn(164, this.NpcDictionary[163], 029, 093, Direction.Undefined, SpawnTrigger.AutomaticDuringEvent); // Chaos Castle 2 - yield return this.CreateMonsterSpawn(165, this.NpcDictionary[163], 026, 084, Direction.Undefined, SpawnTrigger.AutomaticDuringEvent); // Chaos Castle 2 - yield return this.CreateMonsterSpawn(166, this.NpcDictionary[163], 029, 076, Direction.Undefined, SpawnTrigger.AutomaticDuringEvent); // Chaos Castle 2 - yield return this.CreateMonsterSpawn(167, this.NpcDictionary[163], 035, 079, Direction.Undefined, SpawnTrigger.AutomaticDuringEvent); // Chaos Castle 2 - yield return this.CreateMonsterSpawn(168, this.NpcDictionary[163], 041, 079, Direction.Undefined, SpawnTrigger.AutomaticDuringEvent); // Chaos Castle 2 - yield return this.CreateMonsterSpawn(169, this.NpcDictionary[163], 036, 081, Direction.Undefined, SpawnTrigger.AutomaticDuringEvent); // Chaos Castle 2 - yield return this.CreateMonsterSpawn(170, this.NpcDictionary[163], 041, 086, Direction.Undefined, SpawnTrigger.AutomaticDuringEvent); // Chaos Castle 2 - yield return this.CreateMonsterSpawn(171, this.NpcDictionary[163], 035, 092, Direction.Undefined, SpawnTrigger.AutomaticDuringEvent); // Chaos Castle 2 - yield return this.CreateMonsterSpawn(172, this.NpcDictionary[163], 038, 101, Direction.Undefined, SpawnTrigger.AutomaticDuringEvent); // Chaos Castle 2 - yield return this.CreateMonsterSpawn(173, this.NpcDictionary[163], 026, 102, Direction.Undefined, SpawnTrigger.AutomaticDuringEvent); // Chaos Castle 2 - yield return this.CreateMonsterSpawn(174, this.NpcDictionary[163], 038, 106, Direction.Undefined, SpawnTrigger.AutomaticDuringEvent); // Chaos Castle 2 - yield return this.CreateMonsterSpawn(175, this.NpcDictionary[163], 042, 102, Direction.Undefined, SpawnTrigger.AutomaticDuringEvent); // Chaos Castle 2 - yield return this.CreateMonsterSpawn(176, this.NpcDictionary[163], 030, 088, Direction.Undefined, SpawnTrigger.AutomaticDuringEvent); // Chaos Castle 2 - yield return this.CreateMonsterSpawn(177, this.NpcDictionary[163], 029, 091, Direction.Undefined, SpawnTrigger.AutomaticDuringEvent); // Chaos Castle 2 - yield return this.CreateMonsterSpawn(178, this.NpcDictionary[163], 041, 093, Direction.Undefined, SpawnTrigger.AutomaticDuringEvent); // Chaos Castle 2 - yield return this.CreateMonsterSpawn(179, this.NpcDictionary[163], 043, 091, Direction.Undefined, SpawnTrigger.AutomaticDuringEvent); // Chaos Castle 2 - yield return this.CreateMonsterSpawn(180, this.NpcDictionary[163], 032, 101, Direction.Undefined, SpawnTrigger.AutomaticDuringEvent); // Chaos Castle 2 - yield return this.CreateMonsterSpawn(181, this.NpcDictionary[163], 033, 105, Direction.Undefined, SpawnTrigger.AutomaticDuringEvent); // Chaos Castle 2 - yield return this.CreateMonsterSpawn(182, this.NpcDictionary[163], 024, 094, Direction.Undefined, SpawnTrigger.AutomaticDuringEvent); // Chaos Castle 2 - yield return this.CreateMonsterSpawn(183, this.NpcDictionary[163], 032, 094, Direction.Undefined, SpawnTrigger.AutomaticDuringEvent); // Chaos Castle 2 - yield return this.CreateMonsterSpawn(184, this.NpcDictionary[163], 036, 092, Direction.Undefined, SpawnTrigger.AutomaticDuringEvent); // Chaos Castle 2 - yield return this.CreateMonsterSpawn(185, this.NpcDictionary[163], 040, 091, Direction.Undefined, SpawnTrigger.AutomaticDuringEvent); // Chaos Castle 2 - yield return this.CreateMonsterSpawn(186, this.NpcDictionary[163], 040, 101, Direction.Undefined, SpawnTrigger.AutomaticDuringEvent); // Chaos Castle 2 - yield return this.CreateMonsterSpawn(187, this.NpcDictionary[163], 036, 076, Direction.Undefined, SpawnTrigger.AutomaticDuringEvent); // Chaos Castle 2 - yield return this.CreateMonsterSpawn(188, this.NpcDictionary[163], 026, 075, Direction.Undefined, SpawnTrigger.AutomaticDuringEvent); // Chaos Castle 2 - yield return this.CreateMonsterSpawn(189, this.NpcDictionary[163], 030, 082, Direction.Undefined, SpawnTrigger.AutomaticDuringEvent); // Chaos Castle 2 - yield return this.CreateMonsterSpawn(190, this.NpcDictionary[163], 024, 086, Direction.Undefined, SpawnTrigger.AutomaticDuringEvent); // Chaos Castle 2 - yield return this.CreateMonsterSpawn(191, this.NpcDictionary[163], 037, 104, Direction.Undefined, SpawnTrigger.AutomaticDuringEvent); // Chaos Castle 2 - yield return this.CreateMonsterSpawn(192, this.NpcDictionary[163], 039, 087, Direction.Undefined, SpawnTrigger.AutomaticDuringEvent); // Chaos Castle 2 - yield return this.CreateMonsterSpawn(193, this.NpcDictionary[163], 038, 084, Direction.Undefined, SpawnTrigger.AutomaticDuringEvent); // Chaos Castle 2 - yield return this.CreateMonsterSpawn(194, this.NpcDictionary[163], 030, 095, Direction.Undefined, SpawnTrigger.AutomaticDuringEvent); // Chaos Castle 2 - yield return this.CreateMonsterSpawn(195, this.NpcDictionary[163], 029, 086, Direction.Undefined, SpawnTrigger.AutomaticDuringEvent); // Chaos Castle 2 - yield return this.CreateMonsterSpawn(196, this.NpcDictionary[163], 040, 104, Direction.Undefined, SpawnTrigger.AutomaticDuringEvent); // Chaos Castle 2 - yield return this.CreateMonsterSpawn(197, this.NpcDictionary[163], 043, 098, Direction.Undefined, SpawnTrigger.AutomaticDuringEvent); // Chaos Castle 2 - yield return this.CreateMonsterSpawn(198, this.NpcDictionary[163], 041, 084, Direction.Undefined, SpawnTrigger.AutomaticDuringEvent); // Chaos Castle 2 + yield return this.CreateMonsterSpawn(150, this.NpcDictionary[163], 026, 098, Direction.Undefined, SpawnTrigger.ManuallyForEvent); // Chaos Castle 2 + yield return this.CreateMonsterSpawn(151, this.NpcDictionary[163], 027, 086, Direction.Undefined, SpawnTrigger.ManuallyForEvent); // Chaos Castle 2 + yield return this.CreateMonsterSpawn(152, this.NpcDictionary[163], 026, 079, Direction.Undefined, SpawnTrigger.ManuallyForEvent); // Chaos Castle 2 + yield return this.CreateMonsterSpawn(153, this.NpcDictionary[163], 033, 081, Direction.Undefined, SpawnTrigger.ManuallyForEvent); // Chaos Castle 2 + yield return this.CreateMonsterSpawn(154, this.NpcDictionary[163], 026, 077, Direction.Undefined, SpawnTrigger.ManuallyForEvent); // Chaos Castle 2 + yield return this.CreateMonsterSpawn(155, this.NpcDictionary[163], 043, 077, Direction.Undefined, SpawnTrigger.ManuallyForEvent); // Chaos Castle 2 + yield return this.CreateMonsterSpawn(156, this.NpcDictionary[163], 043, 084, Direction.Undefined, SpawnTrigger.ManuallyForEvent); // Chaos Castle 2 + yield return this.CreateMonsterSpawn(157, this.NpcDictionary[163], 027, 094, Direction.Undefined, SpawnTrigger.ManuallyForEvent); // Chaos Castle 2 + yield return this.CreateMonsterSpawn(158, this.NpcDictionary[163], 029, 084, Direction.Undefined, SpawnTrigger.ManuallyForEvent); // Chaos Castle 2 + yield return this.CreateMonsterSpawn(159, this.NpcDictionary[163], 044, 087, Direction.Undefined, SpawnTrigger.ManuallyForEvent); // Chaos Castle 2 + yield return this.CreateMonsterSpawn(160, this.NpcDictionary[163], 038, 092, Direction.Undefined, SpawnTrigger.ManuallyForEvent); // Chaos Castle 2 + yield return this.CreateMonsterSpawn(161, this.NpcDictionary[163], 029, 101, Direction.Undefined, SpawnTrigger.ManuallyForEvent); // Chaos Castle 2 + yield return this.CreateMonsterSpawn(162, this.NpcDictionary[163], 038, 089, Direction.Undefined, SpawnTrigger.ManuallyForEvent); // Chaos Castle 2 + yield return this.CreateMonsterSpawn(163, this.NpcDictionary[163], 042, 099, Direction.Undefined, SpawnTrigger.ManuallyForEvent); // Chaos Castle 2 + yield return this.CreateMonsterSpawn(164, this.NpcDictionary[163], 029, 093, Direction.Undefined, SpawnTrigger.ManuallyForEvent); // Chaos Castle 2 + yield return this.CreateMonsterSpawn(165, this.NpcDictionary[163], 026, 084, Direction.Undefined, SpawnTrigger.ManuallyForEvent); // Chaos Castle 2 + yield return this.CreateMonsterSpawn(166, this.NpcDictionary[163], 029, 076, Direction.Undefined, SpawnTrigger.ManuallyForEvent); // Chaos Castle 2 + yield return this.CreateMonsterSpawn(167, this.NpcDictionary[163], 035, 079, Direction.Undefined, SpawnTrigger.ManuallyForEvent); // Chaos Castle 2 + yield return this.CreateMonsterSpawn(168, this.NpcDictionary[163], 041, 079, Direction.Undefined, SpawnTrigger.ManuallyForEvent); // Chaos Castle 2 + yield return this.CreateMonsterSpawn(169, this.NpcDictionary[163], 036, 081, Direction.Undefined, SpawnTrigger.ManuallyForEvent); // Chaos Castle 2 + yield return this.CreateMonsterSpawn(170, this.NpcDictionary[163], 041, 086, Direction.Undefined, SpawnTrigger.ManuallyForEvent); // Chaos Castle 2 + yield return this.CreateMonsterSpawn(171, this.NpcDictionary[163], 035, 092, Direction.Undefined, SpawnTrigger.ManuallyForEvent); // Chaos Castle 2 + yield return this.CreateMonsterSpawn(172, this.NpcDictionary[163], 038, 101, Direction.Undefined, SpawnTrigger.ManuallyForEvent); // Chaos Castle 2 + yield return this.CreateMonsterSpawn(173, this.NpcDictionary[163], 026, 102, Direction.Undefined, SpawnTrigger.ManuallyForEvent); // Chaos Castle 2 + yield return this.CreateMonsterSpawn(174, this.NpcDictionary[163], 038, 106, Direction.Undefined, SpawnTrigger.ManuallyForEvent); // Chaos Castle 2 + yield return this.CreateMonsterSpawn(175, this.NpcDictionary[163], 042, 102, Direction.Undefined, SpawnTrigger.ManuallyForEvent); // Chaos Castle 2 + yield return this.CreateMonsterSpawn(176, this.NpcDictionary[163], 030, 088, Direction.Undefined, SpawnTrigger.ManuallyForEvent); // Chaos Castle 2 + yield return this.CreateMonsterSpawn(177, this.NpcDictionary[163], 029, 091, Direction.Undefined, SpawnTrigger.ManuallyForEvent); // Chaos Castle 2 + yield return this.CreateMonsterSpawn(178, this.NpcDictionary[163], 041, 093, Direction.Undefined, SpawnTrigger.ManuallyForEvent); // Chaos Castle 2 + yield return this.CreateMonsterSpawn(179, this.NpcDictionary[163], 043, 091, Direction.Undefined, SpawnTrigger.ManuallyForEvent); // Chaos Castle 2 + yield return this.CreateMonsterSpawn(180, this.NpcDictionary[163], 032, 101, Direction.Undefined, SpawnTrigger.ManuallyForEvent); // Chaos Castle 2 + yield return this.CreateMonsterSpawn(181, this.NpcDictionary[163], 033, 105, Direction.Undefined, SpawnTrigger.ManuallyForEvent); // Chaos Castle 2 + yield return this.CreateMonsterSpawn(182, this.NpcDictionary[163], 024, 094, Direction.Undefined, SpawnTrigger.ManuallyForEvent); // Chaos Castle 2 + yield return this.CreateMonsterSpawn(183, this.NpcDictionary[163], 032, 094, Direction.Undefined, SpawnTrigger.ManuallyForEvent); // Chaos Castle 2 + yield return this.CreateMonsterSpawn(184, this.NpcDictionary[163], 036, 092, Direction.Undefined, SpawnTrigger.ManuallyForEvent); // Chaos Castle 2 + yield return this.CreateMonsterSpawn(185, this.NpcDictionary[163], 040, 091, Direction.Undefined, SpawnTrigger.ManuallyForEvent); // Chaos Castle 2 + yield return this.CreateMonsterSpawn(186, this.NpcDictionary[163], 040, 101, Direction.Undefined, SpawnTrigger.ManuallyForEvent); // Chaos Castle 2 + yield return this.CreateMonsterSpawn(187, this.NpcDictionary[163], 036, 076, Direction.Undefined, SpawnTrigger.ManuallyForEvent); // Chaos Castle 2 + yield return this.CreateMonsterSpawn(188, this.NpcDictionary[163], 026, 075, Direction.Undefined, SpawnTrigger.ManuallyForEvent); // Chaos Castle 2 + yield return this.CreateMonsterSpawn(189, this.NpcDictionary[163], 030, 082, Direction.Undefined, SpawnTrigger.ManuallyForEvent); // Chaos Castle 2 + yield return this.CreateMonsterSpawn(190, this.NpcDictionary[163], 024, 086, Direction.Undefined, SpawnTrigger.ManuallyForEvent); // Chaos Castle 2 + yield return this.CreateMonsterSpawn(191, this.NpcDictionary[163], 037, 104, Direction.Undefined, SpawnTrigger.ManuallyForEvent); // Chaos Castle 2 + yield return this.CreateMonsterSpawn(192, this.NpcDictionary[163], 039, 087, Direction.Undefined, SpawnTrigger.ManuallyForEvent); // Chaos Castle 2 + yield return this.CreateMonsterSpawn(193, this.NpcDictionary[163], 038, 084, Direction.Undefined, SpawnTrigger.ManuallyForEvent); // Chaos Castle 2 + yield return this.CreateMonsterSpawn(194, this.NpcDictionary[163], 030, 095, Direction.Undefined, SpawnTrigger.ManuallyForEvent); // Chaos Castle 2 + yield return this.CreateMonsterSpawn(195, this.NpcDictionary[163], 029, 086, Direction.Undefined, SpawnTrigger.ManuallyForEvent); // Chaos Castle 2 + yield return this.CreateMonsterSpawn(196, this.NpcDictionary[163], 040, 104, Direction.Undefined, SpawnTrigger.ManuallyForEvent); // Chaos Castle 2 + yield return this.CreateMonsterSpawn(197, this.NpcDictionary[163], 043, 098, Direction.Undefined, SpawnTrigger.ManuallyForEvent); // Chaos Castle 2 + yield return this.CreateMonsterSpawn(198, this.NpcDictionary[163], 041, 084, Direction.Undefined, SpawnTrigger.ManuallyForEvent); // Chaos Castle 2 } /// diff --git a/src/Persistence/Initialization/VersionSeasonSix/Maps/CrywolfFortress.cs b/src/Persistence/Initialization/VersionSeasonSix/Maps/CrywolfFortress.cs index 272d2d525..873d52470 100644 --- a/src/Persistence/Initialization/VersionSeasonSix/Maps/CrywolfFortress.cs +++ b/src/Persistence/Initialization/VersionSeasonSix/Maps/CrywolfFortress.cs @@ -45,18 +45,18 @@ protected override IEnumerable CreateNpcSpawns() yield return this.CreateMonsterSpawn(1, this.NpcDictionary[406], 228, 048, Direction.SouthWest); // Apostle Devin yield return this.CreateMonsterSpawn(2, this.NpcDictionary[407], 062, 239, Direction.SouthWest); // Werewolf Quarel yield return this.CreateMonsterSpawn(3, this.NpcDictionary[226], 135, 047, Direction.SouthWest); // Treiner - yield return this.CreateMonsterSpawn(4, this.NpcDictionary[248], 099, 040, Direction.SouthEast); // Wandering Merchant + yield return this.CreateMonsterSpawn(4, this.NpcDictionary[248], 099, 040, Direction.SouthEast, SpawnTrigger.Wandering); // Wandering Merchant yield return this.CreateMonsterSpawn(5, this.NpcDictionary[256], 096, 025, Direction.SouthEast); // Lahap yield return this.CreateMonsterSpawn(6, this.NpcDictionary[251], 145, 014, Direction.SouthEast); // Hanzo the Blacksmith yield return this.CreateMonsterSpawn(7, this.NpcDictionary[240], 113, 056, Direction.SouthWest); // Baz The Vault Keeper yield return this.CreateMonsterSpawn(8, this.NpcDictionary[224], 118, 011, Direction.SouthEast); // Guardsman - yield return this.CreateMonsterSpawn(9, this.NpcDictionary[204], 121, 031, Direction.South); // Wolf Status - yield return this.CreateMonsterSpawn(10, this.NpcDictionary[205], 125, 027, Direction.South); // Wolf Altar1 - yield return this.CreateMonsterSpawn(11, this.NpcDictionary[206], 126, 035, Direction.South); // Wolf Altar2 - yield return this.CreateMonsterSpawn(12, this.NpcDictionary[207], 120, 038, Direction.South); // Wolf Altar3 - yield return this.CreateMonsterSpawn(13, this.NpcDictionary[208], 115, 035, Direction.South); // Wolf Altar4 - yield return this.CreateMonsterSpawn(14, this.NpcDictionary[209], 117, 027, Direction.South); // Wolf Altar5 + yield return this.CreateMonsterSpawn(9, this.NpcDictionary[204], 121, 031, Direction.South, SpawnTrigger.OnceAtEventStart); // Wolf Status + yield return this.CreateMonsterSpawn(10, this.NpcDictionary[205], 125, 027, Direction.South, SpawnTrigger.OnceAtEventStart); // Wolf Altar1 + yield return this.CreateMonsterSpawn(11, this.NpcDictionary[206], 126, 035, Direction.South, SpawnTrigger.OnceAtEventStart); // Wolf Altar2 + yield return this.CreateMonsterSpawn(12, this.NpcDictionary[207], 120, 038, Direction.South, SpawnTrigger.OnceAtEventStart); // Wolf Altar3 + yield return this.CreateMonsterSpawn(13, this.NpcDictionary[208], 115, 035, Direction.South, SpawnTrigger.OnceAtEventStart); // Wolf Altar4 + yield return this.CreateMonsterSpawn(14, this.NpcDictionary[209], 117, 027, Direction.South, SpawnTrigger.OnceAtEventStart); // Wolf Altar5 } /// diff --git a/src/Persistence/Initialization/VersionSeasonSix/Maps/Devias.cs b/src/Persistence/Initialization/VersionSeasonSix/Maps/Devias.cs index b7da0691a..ccbd5fb8b 100644 --- a/src/Persistence/Initialization/VersionSeasonSix/Maps/Devias.cs +++ b/src/Persistence/Initialization/VersionSeasonSix/Maps/Devias.cs @@ -41,8 +41,9 @@ protected override IEnumerable CreateNpcSpawns() yield return this.CreateMonsterSpawn(36, this.NpcDictionary[257], 219, 76, Direction.SouthEast); yield return this.CreateMonsterSpawn(37, this.NpcDictionary[566], 204, 61, Direction.SouthEast); yield return this.CreateMonsterSpawn(38, this.NpcDictionary[379], 13, 28, Direction.SouthEast); - yield return this.CreateMonsterSpawn(39, this.NpcDictionary[229], 183, 30, Direction.SouthEast); + yield return this.CreateMonsterSpawn(39, this.NpcDictionary[229], 197, 48, Direction.SouthEast, SpawnTrigger.Wandering); // Marlon yield return this.CreateMonsterSpawn(40, this.NpcDictionary[233], 217, 29, Direction.SouthEast); yield return this.CreateMonsterSpawn(41, this.NpcDictionary[233], 217, 20, Direction.SouthEast); + yield return this.CreateMonsterSpawn(42, this.NpcDictionary[568], 225, 52, Direction.South, SpawnTrigger.Wandering); // Wandering Merchant Zyro } } \ No newline at end of file diff --git a/src/Persistence/Initialization/VersionSeasonSix/Maps/Elvenland.cs b/src/Persistence/Initialization/VersionSeasonSix/Maps/Elvenland.cs index 13c459557..aa3eb8c6a 100644 --- a/src/Persistence/Initialization/VersionSeasonSix/Maps/Elvenland.cs +++ b/src/Persistence/Initialization/VersionSeasonSix/Maps/Elvenland.cs @@ -54,7 +54,7 @@ protected override IEnumerable CreateNpcSpawns() yield return this.CreateMonsterSpawn(12, this.NpcDictionary[540], 49, 216, Direction.South); // Lugard yield return this.CreateMonsterSpawn(13, this.NpcDictionary[492], 22, 225, Direction.South); // Moss yield return this.CreateMonsterSpawn(14, this.NpcDictionary[579], 20, 214, Direction.SouthEast); // David - yield return this.CreateMonsterSpawn(15, this.NpcDictionary[568], 55, 199, Direction.South); // Wandering Merchant Zyro + yield return this.CreateMonsterSpawn(15, this.NpcDictionary[568], 55, 199, Direction.South, SpawnTrigger.Wandering); // Wandering Merchant Zyro } /// diff --git a/src/Persistence/Initialization/VersionSeasonSix/Maps/Lorencia.cs b/src/Persistence/Initialization/VersionSeasonSix/Maps/Lorencia.cs index 2f9fd76a3..9d023a5d2 100644 --- a/src/Persistence/Initialization/VersionSeasonSix/Maps/Lorencia.cs +++ b/src/Persistence/Initialization/VersionSeasonSix/Maps/Lorencia.cs @@ -38,9 +38,10 @@ protected override IEnumerable CreateNpcSpawns() yield return this.CreateMonsterSpawn(19, this.NpcDictionary[257], 174, 129, Direction.SouthWest); yield return this.CreateMonsterSpawn(20, this.NpcDictionary[257], 130, 128, Direction.SouthEast); yield return this.CreateMonsterSpawn(21, this.NpcDictionary[257], 132, 165, Direction.SouthEast); - yield return this.CreateMonsterSpawn(22, this.NpcDictionary[229], 136, 88, Direction.SouthWest); + yield return this.CreateMonsterSpawn(22, this.NpcDictionary[229], 136, 88, Direction.SouthWest, SpawnTrigger.Wandering); // Marlon yield return this.CreateMonsterSpawn(23, this.NpcDictionary[375], 132, 161, Direction.SouthEast); yield return this.CreateMonsterSpawn(24, this.NpcDictionary[543], 141, 143, Direction.South); yield return this.CreateMonsterSpawn(25, this.NpcDictionary[371], 130, 126, Direction.SouthEast); + yield return this.CreateMonsterSpawn(26, this.NpcDictionary[568], 131, 139, Direction.South, SpawnTrigger.Wandering); // Wandering Merchant Zyro } } \ No newline at end of file diff --git a/src/Persistence/Initialization/VersionSeasonSix/Maps/Noria.cs b/src/Persistence/Initialization/VersionSeasonSix/Maps/Noria.cs index e3ede1457..de9544a09 100644 --- a/src/Persistence/Initialization/VersionSeasonSix/Maps/Noria.cs +++ b/src/Persistence/Initialization/VersionSeasonSix/Maps/Noria.cs @@ -36,5 +36,6 @@ protected override IEnumerable CreateNpcSpawns() yield return this.CreateMonsterSpawn(11, this.NpcDictionary[257], 167, 118, Direction.SouthWest); yield return this.CreateMonsterSpawn(12, this.NpcDictionary[450], 179, 126, Direction.SouthWest); yield return this.CreateMonsterSpawn(13, this.NpcDictionary[451], 179, 129, Direction.SouthEast); + yield return this.CreateMonsterSpawn(14, this.NpcDictionary[229], 169, 88, Direction.SouthEast, SpawnTrigger.Wandering); // Marlon } } \ No newline at end of file