Beschreibung
Aktuell herrscht da ein ziemlich Chaos, was Tabellen angeht. Es gibt ad1_1_settlement_inhabitant und ad1_1_building_occupant, wobei in der letzten Tabelle scheinbar nur Einträge für Dokumentordner in diesem Gebäude gepflegt werden. Maximal verwirrend und es existiert keine Dokumentation, warum das so gemacht wurde.
Im Rahmen dieser Story soll das Rätsel um die Tabelle gelöst werden, bei Bedarf eine Vereinfachung stattfinden und bei der Gelegenheit auch die Hauptsitze von anderen Entitäten berücksichtigt werden.
Lösungsansatz: beide Tabellen bleiben. Warum?
settlement_inhabitant hat als Fokus tatsächlich die Ortschaft, dazu gehört auch die Verbannung von Charakteren!
building_occupant hingegen enthält einfach Entitäten innerhalb eines Gebäudes. Das könnte auch die Niederlassung von Gemeinschaften etc. sein.
Beide Tabellen müssen synchronisiert werden! Also muss "inhabitant" auch in ObjectUtil als Entität aufgenommen und dort gepflegt werden. Der Hauptsitz von Ortschaften sollte ebenfalls hier rein!
Man könnte überlegen, die Gebäude-Spalte aus settlement_inhabitant zu entfernen, aber wenn man eh alles synchronisiert...
Ergebnis: Über building_occupant bekomme ich alle Entitäten, die mit dem Gebäude zu tun haben. Mit settlement_inhabitant bekomme ich verbannte und aktuelle Bewohner der Ortschaft.
Boohja
Verbannung wird über eine neue Tabelle ad1_1_settlement_ban geregelt, in der später auch andere Entitäten wie bspw. Länder oder Fraktionen verbannt werden können. Dadurch ist es recht einfach möglich, bspw. Gemeinschaften eine Niederlassung in der Ortschaft zu verweigern.