blizzless-diiis/src/DiIiS-NA/D3-GameServer/GSSystem/ActorSystem/Implementations/RareMinion.cs

56 lines
1.6 KiB
C#

using DiIiS_NA.D3_GameServer.Core.Types.SNO;
using DiIiS_NA.GameServer.Core.Types.TagMap;
using DiIiS_NA.GameServer.GSSystem.MapSystem;
using DiIiS_NA.GameServer.GSSystem.PlayerSystem;
using DiIiS_NA.GameServer.MessageSystem;
using DiIiS_NA.GameServer.MessageSystem.Message.Definitions.Misc;
namespace DiIiS_NA.GameServer.GSSystem.ActorSystem.Implementations
{
public class RareMinion : Monster
{
public RareMinion(World world, ActorSno sno, TagMap tags)
: base(world, sno, tags)
{
Attributes[GameAttributes.Hitpoints_Max] *= 3.0f;
Attributes[GameAttributes.Hitpoints_Cur] = Attributes[GameAttributes.Hitpoints_Max];
Attributes[GameAttributes.Damage_Weapon_Min, 0] *= 1.5f;
Attributes[GameAttributes.Damage_Weapon_Delta, 0] *= 1.5f;
//MonsterAffixGenerator.Generate(this, this.World.Game.Difficulty + 1);
}
public override bool Reveal(Player player)
{
if (!base.Reveal(player)) return false;
var affixGbids = new int[8] { -1, -1, -1, -1, -1, -1, -1, -1 };
for (int i = 0; i < AffixList.Count - 1; i++)
{
affixGbids[i] = AffixList[i].AffixGbid;
}
player.InGameClient.SendMessage(new RareMonsterNamesMessage()
{
ann = DynamicID(player),
RareNames = new int[2] { -1, -1 },
MonsterAffixes = affixGbids
});
return true;
}
public override int Quality
{
get
{
return (int)DiIiS_NA.Core.MPQ.FileFormats.SpawnType.Minion;
}
set
{
// TODO MonsterQuality setter not implemented. Throwing a NotImplementedError is catched as message not beeing implemented and nothing works anymore...
}
}
}
}