public void MoveCreatureToMap(Creature creature, int mapId) { if (creature.MapInstance != null && creature.MapInstance.Base.MapId == mapId) { return; } MapBase nextMap; if (!GetMap(mapId, out nextMap)) { Logger.Warning("MapManager", "MoveCreatureToMap", "Could not find map with id '{0}'.", mapId); return; } MapInstance oldMapInstance = creature.MapInstance; // Get available map instance and add creature to it if (nextMap.GetAvailableInstance().AddCreature(creature)) { if (oldMapInstance != null) { oldMapInstance.RemoveCreature(creature); } } }