public void JoinZombieInstance(PlayerMobile player) { PlayerZombieProfile profile = ZombieEvent.EnsureProfile(player); ZombieAvatar avatar = profile.ZombieAvatar; profile.Active = true; if (avatar == null) { avatar = profile.CreateAvatar(); } if (profile.ZombieSavePoint == Point3D.Zero && avatar != null && DateTime.UtcNow > (profile.DisconnectTime + TimeSpan.FromMinutes(2))) { if (avatar.Backpack != null && avatar.Items.Count <= 1) { avatar.EquipItem(new Dagger { Speed = 1 }); avatar.Backpack.DropItem(new Bandage(7)); ZombieEvent.RandomClothing(avatar); } avatar.MoveToWorld(GetRandomLocation(), Map.ZombieLand); } CreaturePossession.ForcePossessCreature(null, player, avatar); if (avatar != null) { avatar.Blessed = false; avatar.Hidden = false; avatar.IgnoreMobiles = false; avatar.CantWalk = false; } player.LogoutLocation = player.Location; player.Map = Map.Internal; player.LogoutMap = Map.Felucca; }