So... Hidden Nationality...

Leugi

Supreme Libertador
Joined
Jan 25, 2013
Messages
1,675
Location
Bolivia
Its been known for a while now that neither HiddenNationality or AlwaysHostile tags in the promotion table seem to work properly...

So... Any way to mimic their effects? Making a unit look like a barbarian to other players, being able to plunder routes? I know its probably been asked before, but couldn't find anything.
 
It is a leftover Civ4 artefact/code that has been disabled.... bits and pieces of the original routines should still be floating around somewhere in the source code.
 
I always wanted to do a true diplomats, spies, and assassins mod where they'd be invisible except to other DSA units. But apparently the invisible units thing is also wrapped in enigmaticness and dll hard-coding.

I hated the espionage system is CIV3, thought the one in CIV4 was anemic at best, and was really disappointed with the implimentation in CIV5 G&K. I just hate the 'theoretical' treatment of espionage. Ought to be a game-board mechanic in my opinion.

err....end of rant.

--------------------------------------------------------------------------

Anyway, Leugi, even if you made them look like Barbrians by using a Barbarians art_define, would not the team color still show on the unit flag? And wouldn't the other players still "know" who the unit belonged to?

As I recall I think you have to declare war before you can pillage a trade route. So even if you declared war, pillaged, then restored peace all as part of a new unit-panel action (and direct lua command for the AI), wouldn't that game-breakingly spoil diplo relations for the rest of the game between those two players because of the "we were at war at least once" diplo-hit?
 
Thought the one in CIV4 was anemic at best

At least the Civ 4 one had:

  • Had consquences (i.e. potentially very powerful if ignored or complacency sets in)
  • Was not "Fire and Forget" like the one in Civ 5 (you can literally just plop your spies on your capital + next largest cities + never move them ever again, and still win as if nothing was missing).
  • Had many levers of tuning (commerce -> espionage conversion; spies had hammer costs; interaction between own and enemy spies beyond "you have failed to steal a tech, but don't worry, he'll be back soon, and for free in several turns").
  • Was a viable strategy if you wanted to specialize that way (easiest with Gilgamesh - Ziggurats were very strong in that strategy), but you had to carry huge risks (slow your science to a crawl, you don't advance in tech until the AI has done so, high-risk-high-reward).
 
As to the OP's question, adjusting the user interface for human players (so that the unit flag appears to be a barbarian) is a fairly easy change to UnitFlagManager.lua.

It's a little silly, but wouldn't this idea work for non-DLL, Lua solution?:
At the end of the player's turn, give the unit to the barbarians (you might need to remove any remaining moves so the barbs don't use it in stupid ways during their turn). At the start of the player's next turn, give it back to the player.

Of course, you need to give the unit the RivalTerritory promotion.

EDIT: No, wait, you'd still need to declare war to attack... Never mind.
 
I started looking at this in the Civ:V DLL for something I want to do in Civ:BE

When you dig up an artefact in Civ:BE and get an alien unit - I hate the way the alien shows as being one of your units to every player. It should show as an alien but be controllable by you, so attacking other civ units, plundering trade routes, etc would all occur as if done by the alien AI player.

Should be pretty simple. All units have an owner, so we just need to give units a new "controlling owner", default it to the old owner and change it under certain conditions. Rewrite the "who can move this unit" code to use it and add a "who's asking" parameter to the Lua API (so unit flags show correctly when it's your turn) and job done.

And then you hit the spaghetti nightmare of the Firaxis implementation - why bother to use a getter when you can just go directly to the data? There are several hundred places in the code that need fixing before you can even start on the actual implementation! So I abandoned it. I may pick it up again if the Civ:BE source is ever released.

W
 
Top Bottom