feat(hs): define statue (destructible) + guard monster definitions
This commit is contained in:
@@ -4,6 +4,10 @@
|
|||||||
|
|
||||||
namespace MUnique.OpenMU.Persistence.Initialization.VersionSeasonSix.Maps;
|
namespace MUnique.OpenMU.Persistence.Initialization.VersionSeasonSix.Maps;
|
||||||
|
|
||||||
|
using MUnique.OpenMU.AttributeSystem;
|
||||||
|
using MUnique.OpenMU.DataModel.Configuration;
|
||||||
|
using MUnique.OpenMU.GameLogic.Attributes;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// The initialization for the Heykel Savasi event map.
|
/// The initialization for the Heykel Savasi event map.
|
||||||
/// Statue/guard monster definitions and NPC/monster spawns are added by later
|
/// Statue/guard monster definitions and NPC/monster spawns are added by later
|
||||||
@@ -61,6 +65,47 @@ internal class HeykelSavasiMap : BaseMapInitializer
|
|||||||
/// <inheritdoc/>
|
/// <inheritdoc/>
|
||||||
protected override void CreateMonsters()
|
protected override void CreateMonsters()
|
||||||
{
|
{
|
||||||
// Statue/guard MonsterDefinitions are added by later Heykel Savasi tasks.
|
// Heykel (destructible statue)
|
||||||
|
{
|
||||||
|
var statue = this.Context.CreateNew<MonsterDefinition>();
|
||||||
|
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<AttributeDefinition, float>
|
||||||
|
{
|
||||||
|
{ 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<MonsterDefinition>();
|
||||||
|
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<AttributeDefinition, float>
|
||||||
|
{
|
||||||
|
{ 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);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user