Yıllar önce ben yazmıştım bunu, sanırım şu an olsa şuna benzer bir şey yazardım(hatam varsa affola, isimlendirmeyede çok takılmayın üstüne pek düşmedim);
Not: Min. C++20. Oyun içinde denemedim, kullanmak isteyen olursa deneyip varsa sorun bildirebilir.
Not2: Bonus mantığı dinamikleştirilebilir...