MrUnderhill said:The problem with that (like with any non-Orc UU with hidden nationality) is that human players would immediately know who attacked them. This means that hidden nationality would be useless in multiplayer, and the AI would be put at a disadvantage because it can't look up UU's. It kind of makes you wish there were more humanoid barbarians to mix it up a bit and confuse us humans into attacking innocent AI's.
The idea is good, but is there another way to go about it that doesn't put the AI at a disadvantage?
Civkid1991 said:O yea i totally forgot about that.. but that brings up something else i was thinking about. Is it possible to have units with different graphics if they are hidden nationality. Like if i have a Taskmaster and i send it out and we're playing multiplayer then the taskmaster would show up on your side as a regular assassin rater then the Taskmaster UU graphic. I dont know if this would cause problems or not.
Have you tried looking through the c++ files for the code that picks the xml tag for it graphics location? If you can find it then i think that you could probably add in a new xml tag for alternative graphics and then you can say in the c++ or python file if unit has promotion then get info location for alternative graphics and use them. I haven't look at how xml info is gotten but since you know how to add the diplomatic things i think you maybe able to find out how to do it.Kael said:No, I dont know of any way to change graphics based on a promotion. Otherwise we would have glowing swords if they were enchanted, auras for bless and regeneration, etc etc.
Civkid1991 said:Have you tried looking through the c++ files for the code that picks the xml tag for it graphics location? If you can find it then i think that you could probably add in a new xml tag for alternative graphics and then you can say in the c++ or python file if unit has promotion then get info location for alternative graphics and use them. I haven't look at how xml info is gotten but since you know how to add the diplomatic things i think you maybe able to find out how to do it.
Sureshot said:could make two units for it, and switch between them (copying promotions, xp, and levels) when nationality is changed. I doubt its worth doing that tho, prolly be better to make some way for the barbs to get all civs units (like anytime a civ's city is razed, theres a chance of spawning barbarian units of that civ), then you can just blame the barbarians.
Sureshot said:prolly be better to make some way for the barbs to get all civs units (like anytime a civ's city is razed, theres a chance of spawning barbarian units of that civ), then you can just blame the barbarians.
Or a doppleganer Hero.Yeap, that would work and we may use that in very isolated conditions (a "disguise" ability on svartalfar units for example)
Kael said:Yeap, that would work and we may use that in very isolated conditions (a "disguise" ability on svartalfar units for example) but it isn't very applicable on a wide scale just because of all the new issues it opens us up to. Like if I have a Balor disguised as a berserker why is he suddenly about to be charmed? How come an elven ranger is better against a unit with elf slaying when he is disguised than when he isnt? Why, when I enslave a disguised dwarven warrior do I get a human slave? etc etc.
All questions that can be delt with, but you can see what it starts to do.
class CvMultiUnit : CvUnit{
public:
//Get and set functions here.
private:
CvUnit showToOwner;
CvUnit showToEnemy;
}
CvUnit::CvUnit(const CvMultiUnit& me, CvPlayer player=me.getOwner()){
if (player == me.getOwner()) &this=me.getShowToOwner();
else &this=me.getShowToEnemy();
}
Reply posted in mini-mods thread to avoid threadjackingMrUnderhill said:You mean a class that IS_A unit and HAS_A two unit values that it can switch between whenever it's called as a unit?
Nikis-Knight said:Revealing Iron early gives Doviello a large advantage due to iron weapons promotion before others can field units of this strength. Is it possible to reveal a resource but not allow it to be worked?