`public override void SetDisguise(Database.Domain.DbMonstertype _mob, long duration, bool increaseAS)
{
if (!Alive)
return;
LastServerJump -= 1000;
LastClientJump -= 1000;
if (mob == null)
{
var pctLife = Life * 100 / MaximumLife;
Transformation = 0;
waitingAttackSpeedFix = true;
Recalculate();
Life = MaximumLife * pctLife / 100;
}
else
{
AddStatus(Enum.ClientStatus.TransformationTimeout, (int)_mob.Mesh, duration);
CombatStats = CombatStatistics.Create(mob);
if (increaseAS)
{
CombatStats.BonusHitratePct += 50; // todo: adjust this value
}
Transformation = (ushort)_mob.Mesh;
TransformationAttackSpeed = CombatStats.BonusHitratePct;
Send(UpdatePacket.Create(UID, UpdateType.MaxLife, MaximumLife));
Life = MaximumLife;
Send(UpdatePacket.Create(UID, UpdateType.MaxMana, MaximumMana));
CombatStats.MaxMana = (ushort)(Common.GetTaoistManaBonus(MaximumMana) * 100);
}
}`
Anyways this works not sure if it's correct but it works regardless