Située à l’extrême sud de la Préfecture de Bois-Serein, Minami-Kawa s’étend le long d’une baie paisible, entre rivières et collines tapissées de pins. Entièrement bâtie en bois local, la ville dégage une atmosphère chaleureuse, presque rustique, malgré sa fonction stratégique. Son architecture élancée, faite de poutres sombres et de toitures à pans courbés, semble sortie d’un rêve sylvestre.
On raconte que le maire de Mokuzai, un homme de peu de mots mais de grandes décisions, l’a fait ériger en moins d’un an, mobilisant charpentiers, soldats, prisonniers et volontaires dans une organisation rigoureuse. Cette reconstruction éclair, sur les ruines d’un ancien village, a marqué un tournant dans la sécurisation du sud.
Trois ferrys impériaux quittent quotidiennement son port vers les Archipels du Sud. Les quais, en bois renforcé, sont gardés par des unités douanières, et chaque départ suit un protocole strict. Les passagers sont enregistrés, fouillés, puis autorisés à embarquer sous le regard sévère des sentinelles aux uniformes bruns.
La ville, bien que modeste en taille, est connectée au reste de Mokuzai par la ligne impériale Sud, un train quotidien qui traverse les régions pour rejoindre les bourgs intérieurs et la capitale régionale.
Minami-Kawa n’est pas une ville de débats ni de révoltes. C’est une porte disciplinée, forgée dans la hâte mais solidement enracinée dans le sol boisé de Mokuzai. On y respecte l’ordre. On s’y souvient des cendres.
SELECT DATEDIFF(CURRENT_DATE, msg.dateMessage) howManyDays,
lastMessage.participants, lieu.lblLieu, sousForum.nomSousForum,
sousForum.description, topic.idTopic, topic.nomTopic, topic.descriptionTopic,
topic.annee, topic.saison, msg.idComptePrin,
msg.idMessage, msg.dateMessage, msg.idUtilisateur, LEFT(msg.texteMessage, 400) as texteMessage,
msg.idForum, lastMessage.nbMessages, perso.nomPerso, perso.villagePerso, (SELECT urlAva FROM s_miniAvatars WHERE idPnj=0 AND idPersonnage=msg.idUtilisateur
ORDER BY avaPrincipal DESC, idAva ASC LIMIT 0,1) as miniAva
FROM (
SELECT MAX(idMessage) idMessage, MAX(dateMessage) dateMessage, COUNT(idMessage) as nbMessages,
JSON_ARRAYAGG(
DISTINCT JSON_OBJECT(
'idUtilisateur', t_message.idUtilisateur,
'nomPerso', s_personnage.nomPerso,
'villagePerso', s_personnage.villagePerso,
'miniAva', (SELECT urlAva FROM s_miniAvatars WHERE idPnj=0 AND idPersonnage=t_message.idUtilisateur
ORDER BY avaPrincipal DESC, idAva ASC LIMIT 0,1)
)
) AS participants
FROM t_message
LEFT JOIN s_personnage ON t_message.idUtilisateur=s_personnage.idUtilisateur
GROUP BY idTopic ) as lastMessage
LEFT JOIN t_message msg ON lastMessage.idMessage = msg.idMessage
AND lastMessage.dateMessage = msg.dateMessage
LEFT JOIN s_personnage perso ON msg.idUtilisateur=perso.idUtilisateur
LEFT JOIN t_topic topic ON msg.idTopic=topic.idTopic LEFT JOIN t_sousforumlieu lieu ON topic.idLieu=lieu.idLieu
LEFT JOIN t_sousforum sousForum ON msg.idSousForum=sousForum.idSousForum WHERE msg.idSousForum=:idSousforum AND 'gore' NOT IN (SELECT idType FROM t_topicType WHERE idTopic=msg.idTopic) ORDER BY msg.idMessage DESC
C'est calme ici...