Skip to content

Proper implementation of pledge to protect #5165

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 7 commits into from
Sep 11, 2021

Conversation

SimonCeder
Copy link
Collaborator

@SimonCeder SimonCeder commented Sep 9, 2021

This PR implements proper diplomacy penalties for aggressions against protected city-states.

HOWEVER, as you can see this is very complicated, includes a bunch of auxiliary timers and flags, and could alternatively be implemented almost as well with the existing revertToZero function. Do we want the elegant and simple way or the technically accurate way? Actually this is OK

Screenshot_2021-09-09_21-45-45

@SomeTroglodyte
Copy link
Collaborator

With all this sets out to do I don't see how it could be much shorter.
Define "almost"? Refers to the flags counting down differently?

@SimonCeder
Copy link
Collaborator Author

SimonCeder commented Sep 9, 2021

I mean we could dispense with RememberBulliedProtectedMinor and so on and just count the penalty down each turn like we do with all other penalties.
Perhaps it's not as bad as I make it out.

@ravignir
Copy link
Contributor

oz

You either take diplomatic penalty with a major civ or take -20 influence hit with city state, you stop protecting it and you can't protect it for next 20 turns. This only happens when they demand tribute.

When city state is attacked, city state will ask you for help. If you kill 3 units of a major civ that attacked them, you will gain 100 influence.
z

You can't pledge to protect CS if you have less than 0 influence with them. You can't revoke protection until 10 turns after you pledge.

@SimonCeder
Copy link
Collaborator Author

You either take diplomatic penalty with a major civ or take -20 influence hit with city state, you stop protecting it and you can't protect it for next 20 turns. This only happens when they demand tribute.

I'll implement this.

When city state is attacked, city state will ask you for help. If you kill 3 units of a major civ that attacked them, you will gain 100 influence.

This is a quest, not related to pledge to protect. I'll have a look at city-state quests sometime in the future. Meanwhile could you add this to #4602 ?

You can't pledge to protect CS if you have less than 0 influence with them. You can't revoke protection until 10 turns after you pledge.

Already implemented in #5133

@yairm210
Copy link
Owner

I'm okay with the current implementation. Are the turns game-speed-agnostic?

@SimonCeder
Copy link
Collaborator Author

In the civ V source there's no correction for game speed, however there's a comment about adding it sometime in the future. I've preserved this, but we could just as easily put in multipliers. Do we want to?

@yairm210
Copy link
Owner

Nah, I think this is fine
Diplomacy being turn-dependent actually fit in with "player perception" of time as turns rather than time as "ingame years"

Protect gives resting point 10 for influence
@SimonCeder
Copy link
Collaborator Author

You either take diplomatic penalty with a major civ or take -20 influence hit with city state, you stop protecting it and you can't protect it for next 20 turns. This only happens when they demand tribute.

Implemented:
Screenshot_2021-09-10_22-27-15

Also increased the resting point bonus for protected civs from 5 to 10.

@yairm210 yairm210 merged commit d59fe45 into yairm210:master Sep 11, 2021
@ajustsomebody ajustsomebody mentioned this pull request Sep 11, 2021
26 tasks
@ajustsomebody
Copy link
Contributor

sorry for late response, does this implement this?

  • When a City-State becomes the victim of bullying (another civ demands tribute from them/makes them afraid), they call for defense in one of the following manners, all of which only apply to you, and are valid for 30 turns:

    +Pledge protection to them. In this case only, the action will give you some Influence Influence.
    +Denounce the civilization that bullied them.
    +Donate money to help them recover. Unlike the "Public Works" quest, this one is a single-use, giving you +20 Influence Influence when you make the gift in addition to the regular influence effect. Also, the City-State becomes more resistant to tribute in the future from other players
    +When city state is attacked, city state will ask you for help. If you kill 3 units of a major civ that attacked them, you will gain 100 influence.

@SimonCeder SimonCeder deleted the protectdiplomacy branch September 22, 2021 17:07
@SimonCeder
Copy link
Collaborator Author

No, those will be implemented in a future PR dealing with quests.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants