Feature: Event Message - Wonder Captured/Destroyed

EmperorFool

Deity
Joined
Mar 2, 2007
Messages
9,633
Location
Mountain View, California
Afforess requested that we merge in The_J's modcomp that gives an event message whenever a wonder is captured or destroyed. It seems this information can be gleamed from the Windows tab of the Info Screen [F9], so I'm inclined to include it. However, I think it needs some minor adjustments to maintain UGness.

The number of different cases explodes pretty fast given all the inputs:

  1. Have you met the original owner?
  2. Have you met the conqueror?
  3. Was the old city revealed to your team?
  4. Is the new city revealed to your team?
  5. Was the city kept?
As each can be Yes or No, that makes 25 = 32 possible cases to test for. :eek: I need to decide whether to display a message or not and whether it should indicate the new owner and/or location on the map or not.

First, here are the rules governing the Wonders tab:

  1. All wonders are shown on the tab.
  2. The owner is shown if you have met them.
  3. The city's name is shown if it has been revealed to your team.
Using this, here are my proposals for the various event messages:


You are the conqeuror.

Show exactly what happened.


You haven't met either player.

If the city is kept, there will be no indication on the Wonders tab, so display no message.

<no message>

If not, the wonder will disappear from the Wonders tab, so only say that it was destroyed but not by whom.

The Hanging Gardens has been destroyed

Cases handled: 8, NNxxx


You've met the original owner but not the conqeuror.

If the city is kept, the wonder will change hands on the Wonders tab.

The Hanging Gardens has been captured by an unknown civilization

If not, it will disappear.

The Hanging Gardens has been destroyed by an unknown civilization

Cases handled: 8 YNxxx


You've met the conqueror but not the original owner.

If the city is kept, the wonder will change owners on the Wonders tab.

The Hanging Gardens has been captured by the English Empire

If not, it will disappear.

The Hanging Gardens has been destroyed by the English Empire

Cases handled: 8 NYxxx


You've met both players.

If the city is kept, the wonder will change owners on the Wonders tab.

The Hanging Gardens has been captured by the English Empire

If not, it will disappear.

The Hanging Gardens has been destroyed by the English Empire

Cases handled: 8 YYxxx


It looks like when you have met the conqueror it doesn't matter whether you've met the original owner or not. Also, whether or not to display the location only depends on whether or not the old or new city is revealed to your team. Thus all the xxx parts above are handled the same.
 
Is this information going to flow through to the logger too? It should.
 
I could create new events, WonderCaptured and WonderDestroyed, that the Autolog could intercept.

I also think these messages should be extended to holy cities.
 
I also think these messages should be extended to holy cities.

I agree, it is important for the player to know when Holy Cities change hands. You can always check in the religions screen, but that isn't as easy, and who wants to check each turn?

I suppose you could lay out Holy Cities almost exactly the same way as the wonders, but with a slightly different message.
 
No, I haven't added it to BUG yet, but it was on my very long list. I would check if you have your own CvEventManager in your mod. It might have that code as well as a separate BUGified version.

How I usually go about finding this stuff is find some text in the message and look in the CIV4GameText XML files for it. If it's there, search the Python code for its key. If it's not in the XML, search the Python for the literal text.

For example say the message is "The Great Lighthouse has been destoyed". Search for "has been destroyed".
 
Top Bottom