Ticket #41813

"PlayerState" requirement

Eröffnet am: 2021-03-19 23:07 Letztes Update: 2024-01-04 07:39

Auswertung:
Verantwortlicher:
Status:
Geschlossen
Komponente:
Meilenstein:
Priorität:
5 - Mittel
Schweregrad:
5 - Mittel
Lösung:
Gefixt
Datei:
2

Details

Would be good to have a new req type for player-wide special states. Possible state names:

  • "RevoltedThisTurn" - ​some governments provide turn-end bonuses (e.g. increased trade) and another mid-turn ones (e.g. increased veteran chances). Player that has Statue of Liberty or just have finished revolen this turn can change governments for free and exploit it a lot, so let some bonuses be available only when the dust settles (note: AI democracy regulary "fails" for city mismanagement, as long as AI has handicap for it we should not test this req to it in these cases.)
  • "HasCapital" - for mandatory reqs for certain actions but might be used in other cases. BTW primary capital site worth caching.
  • "IsBarbarian" (and/or "IsLandBarbarian", "IsSeaBarbarian", "IsAnimal") - ​to replace unreliable "NationGroup", "Barbarian" req for testing if a player is a barbarian, since in Longturn people who take cool Pirates flag regulary suffer from unwanted effects.
  • "ScienceNonNegative" - ​for combining with bulbs cost of tech stealth, disable tech stealth when you have yet to sort out what you have stolen before.

edit: Also, considering civil war effect for civ1/civ2 rulesets compatibility, we should make local ranged requirement "HasMore(Less)Cities" and "HasMore(Less)Score" (that tests if the capital conqueror passed as other_player is in range), and similar local range variant for "IsBarbarian" (maybe other values also should test other_player when applied as "Local")

Ticket-Verlauf (3/16 Historien)

2021-03-19 23:07 Aktualisiert von: ihnatus
  • New Ticket ""PlayerState" requirement" created
2021-03-23 05:05 Aktualisiert von: ihnatus
  • Details Updated
2021-03-23 05:18 Aktualisiert von: cazfi
Kommentar

Longturn people who take cool Pirates flag regulary suffer from unwanted effects.

I think that is intentional local modification by LT to make Pirates playable while they still are barbarians.

2021-11-08 09:41 Aktualisiert von: cazfi
Kommentar

Reply To ihnatus

Player that has Statue of Liberty or just have finished revolen this turn can change governments for free and exploit it a lot, so let some bonuses be available only when the dust settles

I think that for this the engine should enforce some rules, and not leave it to ruleset to plug every possible exploit. This could work similar to multiplier changes that can be chosen during the turn freely, but are activated only at turn change (it has two variables; one that is the really active value, and second that tells what value user wants to activate in the next turn change)
2022-01-12 02:16 Aktualisiert von: cazfi
Kommentar

Reply To cazfi

Reply To ihnatus

Player that has Statue of Liberty or just have finished revolen this turn can change governments for free and exploit it a lot, so let some bonuses be available only when the dust settles

I think that for this the engine should enforce some rules, and not leave it to ruleset to plug every possible exploit. This could work similar to multiplier changes that can be chosen during the turn freely, but are activated only at turn change (it has two variables; one that is the really active value, and second that tells what value user wants to activate in the next turn change)

-> #43604

2022-01-12 02:17 Aktualisiert von: cazfi
2022-08-27 23:25 Aktualisiert von: cazfi
Kommentar

Somewhat overlapping (but not replacement) idea would be "PlayerFlag" requirement type. The benefit of PlayerFlag over PlayerState would be that requirement system would automatically gain access to each new flag added (no further implementation needed once we have the generic flag checking in place). Each PlayerState type would need to be implemented separately.

2023-10-01 14:07 Aktualisiert von: cazfi
Kommentar

Reply To cazfi

Somewhat overlapping (but not replacement) idea would be "PlayerFlag" requirement type.

-> #45666

2023-10-16 13:51 Aktualisiert von: cazfi
  • Verantwortlicher Update from (Keine) to cazfi
  • Lösung Update from Keine to Accepted
Kommentar

Attached patch that supports just "Barbarian" state. Other states to be added in separate tickets.

2023-10-16 14:01 Aktualisiert von: cazfi
Kommentar

New version, with README.effects changes added.

2023-10-22 18:53 Aktualisiert von: cazfi
  • Status Update from Offen to Geschlossen
  • Lösung Update from Accepted to Gefixt
2023-10-22 19:03 Aktualisiert von: cazfi
Kommentar

"HasCapital" -> #48886
"PlayerState" "Barbarian" ruleset changes -> #48887

2023-12-29 06:57 Aktualisiert von: cazfi
Kommentar

Reply To ihnatus

* "ScienceNonNegative" - ​for combining with bulbs cost of tech stealth, disable tech stealth when you have yet to sort out what you have stolen before.

Maybe separate "MinAccumulatedBulbs" requirement type would be more generally usable?

2024-01-04 07:39 Aktualisiert von: cazfi
Kommentar

Reply To cazfi

Reply To ihnatus

* "ScienceNonNegative" - ​for combining with bulbs cost of tech stealth, disable tech stealth when you have yet to sort out what you have stolen before.

Maybe separate "MinAccumulatedBulbs" requirement type would be more generally usable?

-> https://redmine.freeciv.org/issues/122

Bearbeiten

Please login to add comment to this ticket » Anmelden