Page MenuHomeWildfire Games

[gameplay] make embassy mercenaries native
ClosedPublic

Authored by Nescio on Jan 3 2020, 9:40 PM.

Details

Reviewers
borg-
Angen
Group Reviewers
Restricted Owners Package(Owns No Changed Paths)
Commits
rP23802: [gameplay-a24] Allow to train mercenaries from embassy by any civilisation
Summary

This patch uses {native} tag in training lists of embassies and the {civ} tag in mercenary build lists.
As a result, any player that captures an embassy (including Blemmy camp or Nuba village) can train these mercenaries there, while preventing them from building structures they shouldn't have access to. Only Carthaginians and Kushites can build these mercenary structures.

Test Plan

Check for mistakes and omissions. Agree this is an improvement.

Diff Detail

Repository
rP 0 A.D. Public Repository
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

Nescio created this revision.Jan 3 2020, 9:40 PM
Owners added a subscriber: Restricted Owners Package.Jan 3 2020, 9:40 PM
Vulcan added a comment.Jan 3 2020, 9:40 PM

Build failure - The Moirai have given mortals hearts that can endure.

Link to build: https://jenkins.wildfiregames.com/job/docker-differential/1462/display/redirect

Vulcan added a comment.Jan 3 2020, 9:41 PM

Build failure - The Moirai have given mortals hearts that can endure.

Link to build: https://jenkins.wildfiregames.com/job/vs2015-differential/944/display/redirect

Vulcan added a comment.Jan 3 2020, 9:42 PM

Build failure - The Moirai have given mortals hearts that can endure.

Link to build: https://jenkins.wildfiregames.com/job/macos-differential/40/display/redirect

Nescio added a subscriber: elexis.Jan 3 2020, 9:44 PM

Build failed, presumably because it contains a map file with spaces in its name. (D1042 is still relevant, @elexis.)

Nescio edited the summary of this revision. (Show Details)Jan 3 2020, 9:44 PM

(I didn't check if the patch works properly and am just talking from a gameplay perspective)
This patch is quite necessary if D2534 gets committed for two reasons. First of all, it can be very annoying to capture a building only to find out that you are unable to train any units there and thus it is useless to you. Secondly, it adds some risk to the Kushite player because the only drawback to their camps getting captured is having to make new ones, the enemy will never be able to use them to their advantage.

Nescio planned changes to this revision.Jun 6 2020, 8:16 PM

(I didn't check if the patch works properly and am just talking from a gameplay perspective)

Sandbox - Kushites.xml has been renamed to sandbox_kushites.xml (rP23719), so I'll have to redo that part, but otherwise this patch should still work fine.

This patch is quite necessary if D2534 gets committed for two reasons.

Yes, committing both D2534 and D2536 is best, though in principle they're independent changes and one could still be an improvement without the other.

Nescio updated this revision to Diff 12194.Jun 7 2020, 11:07 AM
  • rebased
Owners added a subscriber: Restricted Owners Package.Jun 7 2020, 11:07 AM
Nescio edited the summary of this revision. (Show Details)Jun 7 2020, 11:08 AM

Build failure - The Moirai have given mortals hearts that can endure.

Link to build: https://jenkins.wildfiregames.com/job/docker-differential/2356/display/redirect

borg- accepted this revision.Wed, Jun 17, 2:03 PM
This revision is now accepted and ready to land.Wed, Jun 17, 2:03 PM
Angen added a subscriber: Angen.Wed, Jun 24, 12:10 PM

I believe one can use {native} tag to apply civ code from structure and not owning player so one can avoid renaming units.

Angen requested changes to this revision.Wed, Jun 24, 12:23 PM

Also removing special kush buildings from building list, I do not agree with that one.
Replace kush -> {civ} to avoid construction by forbidden civilization and to keep for kush.

This revision now requires changes to proceed.Wed, Jun 24, 12:23 PM

I believe one can use {native} tag to apply civ code from structure and not owning player so one can avoid renaming units.

Thank you for pointing that out, I forgot about those {native} tags! That said, the rename is technically correct, and allows removing the <Civ> line.

Also removing special kush buildings from building list, I do not agree with that one.
Replace kush -> {civ} to avoid construction by forbidden civilization and to keep for kush.

In principle those (and other) entities could be moved to template_unit_infantry.xml.

Nescio updated this revision to Diff 12501.Tue, Jun 30, 12:32 PM
Nescio retitled this revision from [gameplay] make Blemmye and Nuba mercenaries generic to [gameplay] make embassy mercenaries native.
Nescio edited the summary of this revision. (Show Details)

Redid this patch from scratch, per @Angen:

  • Use {native} tag in training lists of embassies, so if another civ captures them, they can train these units there.
  • Use {civ} tag for mercenary build lists, to prevent them from building structures that the civ of their current owner doesn't have.

Successful build - Chance fights ever on the side of the prudent.

Link to build: https://jenkins.wildfiregames.com/job/docker-differential/2552/display/redirect

Angen accepted this revision.Wed, Jul 1, 8:54 AM

Gameplay:
It makes sense that when one captures some mercenary building, one is able to train that mercenaries as they are not of the civilization that constructed the building.
For nuba village and blemmye camp see comments from ValihrAnt and brog-.
Other:
Trained units keep ability to build structures iff player has that structures in the roster and was able to do so without this patch.

This revision is now accepted and ready to land.Wed, Jul 1, 8:54 AM