diff --git a/src/Persistence/Initialization/VersionSeasonSix/Maps/HeykelSavasiMap.cs b/src/Persistence/Initialization/VersionSeasonSix/Maps/HeykelSavasiMap.cs index 6aa1cae..63b74e8 100644 --- a/src/Persistence/Initialization/VersionSeasonSix/Maps/HeykelSavasiMap.cs +++ b/src/Persistence/Initialization/VersionSeasonSix/Maps/HeykelSavasiMap.cs @@ -4,6 +4,10 @@ namespace MUnique.OpenMU.Persistence.Initialization.VersionSeasonSix.Maps; +using MUnique.OpenMU.AttributeSystem; +using MUnique.OpenMU.DataModel.Configuration; +using MUnique.OpenMU.GameLogic.Attributes; + /// /// The initialization for the Heykel Savasi event map. /// Statue/guard monster definitions and NPC/monster spawns are added by later @@ -61,6 +65,47 @@ internal class HeykelSavasiMap : BaseMapInitializer /// protected override void CreateMonsters() { - // Statue/guard MonsterDefinitions are added by later Heykel Savasi tasks. + // Heykel (destructible statue) + { + var statue = this.Context.CreateNew(); + this.GameConfiguration.Monsters.Add(statue); + statue.Number = 561; + statue.Designation = "Heykel"; + statue.ObjectKind = NpcObjectKind.Destructible; + statue.MoveRange = 0; + statue.AttackRange = 0; + var statueAttributes = new Dictionary + { + { Stats.Level, 100 }, + { Stats.MaximumHealth, 200000 }, // tuning + { Stats.DefenseBase, 200 }, + { Stats.DefenseRatePvm, 100 }, + }; + statue.AddAttributes(statueAttributes, this.Context, this.GameConfiguration); + statue.SetGuid(statue.Number); + } + + // Heykel Muhafizi (guard monster) + { + var guard = this.Context.CreateNew(); + this.GameConfiguration.Monsters.Add(guard); + guard.Number = 580; + guard.Designation = "Heykel Muhafizi"; + guard.ObjectKind = NpcObjectKind.Monster; + guard.MoveRange = 3; + guard.AttackRange = 2; + var guardAttributes = new Dictionary + { + { Stats.Level, 110 }, + { Stats.MaximumHealth, 80000 }, // tuning + { Stats.MinimumPhysBaseDmg, 900 }, + { Stats.MaximumPhysBaseDmg, 1100 }, + { Stats.DefenseBase, 400 }, + { Stats.AttackRatePvm, 1200 }, + { Stats.DefenseRatePvm, 500 }, + }; + guard.AddAttributes(guardAttributes, this.Context, this.GameConfiguration); + guard.SetGuid(guard.Number); + } } }