Ciao,
se map_properties può referenziare solo un m_<qualcosa> ti consiglierei di utilizzare una sola tabella che raggruppi le m_bot, m_shop, m_game, m_warp.

In comune queste tabelle hanno id_obj, x, y, property, mentre z aspect e id_object_dest saranno compilati in base al tipo dell'item.
Ti consiglio di aggiungere un nuovo campo 'type' che specifica che item è: bot, shop, game o warp, così hai 2 vantaggi, il primo è che nella select hai anche l'informazione del tipo, in futuro puoi ampliare i tipi senza dover aggiungere tabelle nuove.

A questo la relazione fra le 2 tabelle sarà n:1 per cui ti basta utilizzare id_obj nella map_properties.

Ciao