civfanatics / CQUI_Community-Edition

Civilization 6 mod - UI enhancements, reduce clicks and manage your empire faster!
MIT License
154 stars 28 forks source link

Banner and Unit improvements for Barbarian Clans mode #269

Closed the-m4a closed 3 years ago

the-m4a commented 3 years ago

After playing like, 5 minutes of the new mode I was just feeling the information presented was lacking. So I wanted to work on it a bit, and have been tossing around some ideas. Would like some feedback, especially on the "you can hire this clan" one.

Image mash-up showing all of the pieces involved, explanations below: image

I didn't want to have to mouse-over in order to see what clan a unit belonged to, so they all get their little clan icons now: image

This icon shows when you have bribed a clan, with number of turns left. The same icon that shows on the unit flag (default from Firaxis) image

This "star" shows you can hire a unit from the clan. I wanted something smaller than a full icon, because it's something that would be very common. Just felt like having that always be a thing would be too much. image

Few things in this one:

loks1234 commented 3 years ago

Also Barbarian banner seems to be persistent even after completely razing the outpost. Can you please fix that along with these additions.

the-m4a commented 3 years ago

that should be fixed. the only way i can get that to reproduce is if I added a barbarian camp to the map (using the Live Tuner) and did not set the player as Barbarians first. The code to remove the banner when the camp is razed is mostly untouched by CQUI, it's as-is from what Firaxis did. If you're for-sure still seeing the banners, I'll keep plugging away at it and see if I can get it tracked down. :)

loks1234 commented 3 years ago

Just tried with a new game. The razed banner seems to be going away after saving the game after razing the clan and then loading that save.

the-m4a commented 3 years ago

does it go away without the save/load?

loks1234 commented 3 years ago

nope. It is persistent even after a hundred turns.

Edit: trying now after removing mods

the-m4a commented 3 years ago

Can you upload the save? I'm curious if it'd still happen with the code changes in my m4a_barbbannerimprovements branch

loks1234 commented 3 years ago

After removing the mods it seems to be working fine.

placed a giant death robot above the 'Nuri' city

Save file: AMANITORE 148 740 AD.zip

the-m4a commented 3 years ago

Well - I was able to see that the banners still stick around. It doesn't make any sense because the behavior is no different if I use the Live Tuner to place a camp. Except when I place one down, it deletes the banner correctly. I'm falling asleep so I'll have to look into this tomorrow if I get the chance

the-m4a commented 3 years ago

I hadn't updated the thread, but I did mention it on the workshop: the banners issue is because "OnImprovementAddedToMap" is getting called twice for each barbarian improvement (and everything else, for that matter... except goody huts.)

The code that Firaxis has in place does not check to see if a banner already exists when OnImprovementAddedToMap is called, only that the Barbarian Tribe exists. If they exist, create banner, and since it's called twice for each improvement, you get two banners.

Figuring out why that is called twice is the issue. I haven't a clue why. I just know that if CQUI is not loaded, OnImprovementAddedToMap is not called twice.

the-m4a commented 3 years ago

Finally figured it out (note: wasn't working on this for 7hrs straight :) -- When the CQUI settings were changed, Reload() was called. When Reload() is called, it does all those shenanigans with the OnImprovementAddedToMap and stuff.