public static void DeathAnim_OnAnimationEnd(Animation a, Mobile m) { if (m != null) { Item item = World.FindItem(m.CorpseSerial); m.Visible = false; m.CorpseSerial = 0; m.Update(); if (item != null) { item.CorpseSerial = 0; item.Direction = m.Direction; item.Visible = true; item.Update(); } } }
public static void Resurrect_OnAnimationEnd(Animation a, Mobile m) { if (m != null) { m.Visible = false; m.Update(); } }
private static void Mobile_Animation(PacketReader pvSrc) { int num; int num3; bool flag; bool flag2; int num4; int num5; Mobile mobile = World.FindMobile(pvSrc.ReadInt32()); if (mobile != null) { num = pvSrc.ReadInt16(); int num2 = pvSrc.ReadInt16(); num3 = pvSrc.ReadInt16(); flag = !pvSrc.ReadBoolean(); flag2 = pvSrc.ReadBoolean(); num4 = pvSrc.ReadByte(); switch (Engine.m_Animations.GetBodyType(mobile.Body)) { case BodyType.Monster: num = num % 0x16; goto Label_00D9; case BodyType.Sea: case BodyType.Animal: { object obj2 = Engine.m_Animations.ActionDef1[num]; if (obj2 != null) { num = (int) obj2; } num = num % 13; goto Label_00D9; } case BodyType.Human: case BodyType.Equipment: { object obj3 = Engine.m_Animations.ActionDef2[num]; if (obj3 != null) { num = (int) obj3; } num = num % 0x23; goto Label_00D9; } } } return; Label_00D9: num5 = Engine.GetAnimDirection(mobile.Direction) & 7; if (Engine.m_Animations.IsValid(mobile.Body, num, num5)) { Animation animation = new Animation { Action = num, RepeatCount = num3, Forward = flag, Repeat = flag2, Delay = num4 }; mobile.Animation = animation; animation.Run(); } }