Add the option for civs to have unique dialogue when asking for a Declaration of Friendship (#13366)

* Uh, Friendship dailogue.

* Update 2-Civilization-related-JSON-files.md

* Nothing

* Yairm fixes my mistake

Sorry I didn't get to this sooner and you had to do it Yairm.

Co-authored-by: Yair Morgenstern <yairm210@hotmail.com>

* Update AlertPopup.kt's friendship to declaringFriendship

* Update Nation.kt's friendship to declaringFriendship

* Update 2-Civilization-related-JSON-files.md's friendship to declaringFriendship

* Update nations.json's friendship to declaringFriendship

---------

Co-authored-by: Yair Morgenstern <yairm210@hotmail.com>
This commit is contained in:
ReallyBasicName 2025-06-02 13:08:17 -07:00 committed by GitHub
parent f871e1f456
commit b67429d5cb
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 9 additions and 1 deletions

View File

@ -41,6 +41,8 @@ class Nation : RulesetObject() {
var defeated = ""
/** Shown for MajorCivDiplomacyTable.getDenounceButton */
var denounced = ""
/** Shown for Declaration of Friendship */
var declaringFriendship = ""
/** Shown for AlertType.FirstContact */
var introduction = ""
/** Shown in TradePopup when other Civs initiate trade with a player */

View File

@ -237,13 +237,17 @@ class AlertPopup(
if (otherciv.isDefeated()) return false
val playerDiploManager = viewingCiv.getDiplomacyManager(otherciv)!!
addLeaderName(otherciv)
addGoodSizedLabel("My friend, shall we declare our friendship to the world?").row()
addGoodSizedLabel(
if (otherciv.nation.declaringFriendship.isNotEmpty()) otherciv.nation.declaringFriendship else "My friend, shall we declare our friendship to the world?"
).row()
addCloseButton("Declare Friendship ([30] turns)", KeyboardBinding.Confirm) {
playerDiploManager.signDeclarationOfFriendship()
}.row()
addCloseButton("We are not interested.", KeyboardBinding.Cancel) {
playerDiploManager.otherCivDiplomacy().setFlag(DiplomacyFlags.DeclinedDeclarationOfFriendship, 20)
}.row()
val music = UncivGame.Current.musicController
music.playVoice("${otherciv.nation.name}.declaringFriendship")
return true
}

View File

@ -76,6 +76,7 @@ Each nation has the following structure:
| neutralHello | String | none | Another greeting, voice hook supported [^V] |
| hateHello | String | none | Another greeting, voice hook supported [^V] |
| tradeRequest | String | none | Another greeting, voice hook supported [^V] |
| declaringFriendship | String | none | Another greeting, voice hook supported [^V] |
| innerColor | [List of 3× Integer](5-Miscellaneous-JSON-files.md#rgb-colors-list) | black | RGB color for outer ring of nation icon |
| outerColor | [List of 3× Integer](5-Miscellaneous-JSON-files.md#rgb-colors-list) | Required | RGB color for inner circle of nation icon |
| uniqueName | String | none | Decorative name for the special characteristic of this nation |

View File

@ -38,6 +38,7 @@
"attacked": { "type": "string" },
"defeated": { "type": "string" },
"denounced": { "type": "string" },
"declaringFriendship": { "type": "string" },
"startIntroPart1": { "type": "string" },
"startIntroPart2": { "type": "string" },
"cities": {