Merijn new civs and other projects

Was just playing Vietnam earlier and it seems China gets conquerors against Vietnam around the time that Vietnam falls under the Nanyue state historically. So I think the possibility that Vietnam falls under Chinese rule is reflected. There were a few periods of temporary independence for Vietnam after 179BC and 938AD so I think it adequately reflects the difficulty China had maintaining control over that far-flung region. I think the problem with shifting the start date so dramatically is that you would probably have to revise all of the UHVs.
In my opinion, an independent city spawn in Hanoi in 257bc is enough. Maybe Guangzhou and Hanoi can combine as the same independent leader, to represent the Nanyue State, for historical.
In history, North Vietnam belonged to China from 111BC(Han Dynasty) to 928AD. The history of Nanyue State is very short, only 92 years.
 
Last edited:
Vietnam can respawn anytime between 950 and 1400 and 1800 and 1945.
China invades Vietnam in 50 and 1400 AD, though only if Vietnam is human.

Why does that exception exist?
 
In my opinion, an independent city spawn in Hanoi in 257bc is enough. Maybe Guangzhou and Hanoi can combine as the same independent leader, to represent the Nanyue State, for historical.
In history, North Vietnam belonged to China from 111BC(Han Dynasty) to 928AD. The history of Nanyue State is very short, only 92 years.
Kind of precludes having the Trung Sisters as leaderhead though *shrugs*
 
In Barbs.py:
Code:
if utils.isYearIn(-800, 1300) and self.includesActiveHuman([iEgypt, iArabia]):
            iNumUnits = iHandicap
            if utils.getScenario() == i3000BC: iNumUnits += 1
            self.checkSpawn(iBarbarian, iMedjay, iNumUnits, (66, 28), (71, 34), self.spawnUprising, iGameTurn, 12, 4, ["TXT_KEY_ADJECTIVE_NUBIAN"])
Is it intended that the Mamluks won't be attacked by Nubian Medjays?

In Stability.py:
Code:
# Leoreth: Egyptian respawn on Arabian collapse hurts Ottoman expansion
            if iPlayer == iArabia and iLoopPlayer == iEgypt: continue
Is it intended that the Egyptians cannot respawn upon the Arabian collapse but the Mamluks can?

In RFCUtils.py
Code:
# Exception during Japanese UHV
        if self.getHumanID() == iJapan and iGameTurn >= getTurnForYear(1920) and iGameTurn <= getTurnForYear(1945):
            if iPlayer in [iChina, iKorea, iIndonesia, iThailand]:
                return False
Is it intended that Manchuria can Respawn during the Japanese UHV?

Spoiler :
in RFCEventHandler:
Code:
if iTech == iExploration:
           if iPlayer in [iSpain, iFrance, iEngland, iGermany, iVikings, iNetherlands, iPortugal]:
               data.players[iPlayer].iExplorationTurn = iGameTurn

in RiseAndFall.py:
Code:
if utils.isYearIn(1350, 1918):
            for iPlayer in [iSpain, iEngland, iFrance, iPortugal, iNetherlands, iVikings, iGermany]:
                if iGameTurn == data.players[iPlayer].iExplorationTurn + 1 + data.players[iPlayer].iColonistsAlreadyGiven * 8:
                    self.giveColonists(iPlayer)

Code:
for iPlayer in [iSpain, iFrance, iEngland, iPortugal, iNetherlands, iGermany, iVikings, iSweden]:
            data.players[iPlayer].iExplorationTurn = getTurnForYear(1700)

in Consts.py:
Code:
dMaxColonists = {
iVikings : 1,
iSpain : 7,
iFrance : 5,
iEngland : 6,
iPortugal : 6,
iSweden: 2,
iNetherlands : 6,
iGermany : 2
}
Sweden seems to be intended to be given Colonists, but they aren't included in the colonial lists that actually give them out.
 
In Barbs.py:
Code:
if utils.isYearIn(-800, 1300) and self.includesActiveHuman([iEgypt, iArabia]):
            iNumUnits = iHandicap
            if utils.getScenario() == i3000BC: iNumUnits += 1
            self.checkSpawn(iBarbarian, iMedjay, iNumUnits, (66, 28), (71, 34), self.spawnUprising, iGameTurn, 12, 4, ["TXT_KEY_ADJECTIVE_NUBIAN"])
Is it intended that the Mamluks won't be attacked by Nubian Medjays?

No. The includeActiveHuman() part was added in v1.16 and I didn't apply this change to my new civs yet.

In Stability.py:
Code:
# Leoreth: Egyptian respawn on Arabian collapse hurts Ottoman expansion
            if iPlayer == iArabia and iLoopPlayer == iEgypt: continue
Is it intended that the Egyptians cannot respawn upon the Arabian collapse but the Mamluks can?

Yes. The Mamluks replace Egypt in this case.

In RFCUtils.py
Code:
# Exception during Japanese UHV
        if self.getHumanID() == iJapan and iGameTurn >= getTurnForYear(1920) and iGameTurn <= getTurnForYear(1945):
            if iPlayer in [iChina, iKorea, iIndonesia, iThailand]:
                return False
Is it intended that Manchuria can Respawn during the Japanese UHV?

No. Again, newly added to v1.16 and not applied yet.

Spoiler :
in RFCEventHandler:
Code:
if iTech == iExploration:
           if iPlayer in [iSpain, iFrance, iEngland, iGermany, iVikings, iNetherlands, iPortugal]:
               data.players[iPlayer].iExplorationTurn = iGameTurn

in RiseAndFall.py:
Code:
if utils.isYearIn(1350, 1918):
            for iPlayer in [iSpain, iEngland, iFrance, iPortugal, iNetherlands, iVikings, iGermany]:
                if iGameTurn == data.players[iPlayer].iExplorationTurn + 1 + data.players[iPlayer].iColonistsAlreadyGiven * 8:
                    self.giveColonists(iPlayer)

Code:
for iPlayer in [iSpain, iFrance, iEngland, iPortugal, iNetherlands, iGermany, iVikings, iSweden]:
            data.players[iPlayer].iExplorationTurn = getTurnForYear(1700)

in Consts.py:
Code:
dMaxColonists = {
iVikings : 1,
iSpain : 7,
iFrance : 5,
iEngland : 6,
iPortugal : 6,
iSweden: 2,
iNetherlands : 6,
iGermany : 2
}
Sweden seems to be intended to be given Colonists, but they aren't included in the colonial lists that actually give them out.

IIRC I didn't want Sweden to have free AI colonists because I thought that their colonies were not important enough to be represented with free colonists.
 
No. The includeActiveHuman() part was added in v1.16 and I didn't apply this change to my new civs yet.

Sorry about that. It didn't occur to me that 1.16 would have made changes specifically targeting pre-existing civs. I'm not currently able to mod, but I'll get a pull request out once I can.
 
Playing as the Philippines I had a balangay spawn in the Mozambique Channel on Swahili spawn. On the one hand, very useful for UHV1, on the other hand possibly a bug?

Also, Zimbabwe... why does the Kraal give bonus for horse, pig, deer and cow when the only of those resources Zimbabwe will reasonably settle near are cows.
 
Last edited:
Playing as the Philippines I had a balangay spawn in the Mozambique Channel on Swahili spawn. On the one hand, very useful for UHV1, on the other hand possibly a bug?

Also, Zimbabwe... why does the Kraal give bonus for horse, pig, deer and cow when the only of those resources Zimbabwe will reasonably settle near are cows.
AFAIK it's intended for the Philippines to spawn with contact with the Swahili.

From what I can tell, Zimbabwe is intended to be played aggressively, so the Kraal reflects that in being the more useful to expansionist players.
 
I guess you are very lucky that there was a balangay in your flipzone at the time you spawned. I did not add it on purpose.

Another possibility is that the updates caused a small inconsitency in the consts and should be fixed.
 
I guess you are very lucky that there was a balangay in your flipzone at the time you spawned. I did not add it on purpose.

Another possibility is that the updates caused a small inconsitency in the consts and should be fixed.
Code:
        elif iCiv == iSwahili:
            utils.createSettlers(iCiv, 3)
            utils.makeUnit(iArcher, iCiv, tPlot, 5)
            utils.createMissionaries(iCiv, 1)
            tSeaPlot = self.findSeaPlots(tPlot, 1, iCiv)
            if tSeaPlot:
                utils.makeUnit(iWorkboat, iCiv, tSeaPlot, 1)
                pPhilippines.initUnit(iBalangay, tSeaPlot[0], tSeaPlot[1], UnitAITypes.UNITAI_SReplyETTLER_SEA, DirectionTypes.DIRECTION_SOUTH)
                utils.makeUnit(iSettler, iCiv, tSeaPlot, 1)
                utils.makeUnit(iLongbowman, iCiv, tSeaPlot, 1)
                utils.makeUnit(iBalangay, iCiv, tSeaPlot, 1)
                utils.makeUnit(iGalley, iCiv, tSeaPlot, 2)

Code:
pPhilippines.initUnit(iBalangay, tSeaPlot[0], tSeaPlot[1], UnitAITypes.UNITAI_SReplyETTLER_SEA, DirectionTypes.DIRECTION_SOUTH)

From this line it seems intended that the Philippines have a Balangay spawn on the Swahili coast. This could not be due to a balangay being in their flipzone because the Philippine flipzone does not extend to the Swahili coast and TJ says they are playing as the Philippines. It spawns a Balangay as coded so it is not an issue with Consts.py.

This line also existed in 1.15 so it was not introduced by my update.
https://github.com/MeuhV1/Dawn-of-C...e1c55b0bd57cb5bb/Assets/Python/RiseAndFall.py
 
Code:
        elif iCiv == iSwahili:
            utils.createSettlers(iCiv, 3)
            utils.makeUnit(iArcher, iCiv, tPlot, 5)
            utils.createMissionaries(iCiv, 1)
            tSeaPlot = self.findSeaPlots(tPlot, 1, iCiv)
            if tSeaPlot:
                utils.makeUnit(iWorkboat, iCiv, tSeaPlot, 1)
                pPhilippines.initUnit(iBalangay, tSeaPlot[0], tSeaPlot[1], UnitAITypes.UNITAI_SReplyETTLER_SEA, DirectionTypes.DIRECTION_SOUTH)
                utils.makeUnit(iSettler, iCiv, tSeaPlot, 1)
                utils.makeUnit(iLongbowman, iCiv, tSeaPlot, 1)
                utils.makeUnit(iBalangay, iCiv, tSeaPlot, 1)
                utils.makeUnit(iGalley, iCiv, tSeaPlot, 2)

Code:
pPhilippines.initUnit(iBalangay, tSeaPlot[0], tSeaPlot[1], UnitAITypes.UNITAI_SReplyETTLER_SEA, DirectionTypes.DIRECTION_SOUTH)

From this line it seems intended that the Philippines have a Balangay spawn on the Swahili coast. This could not be due to a balangay being in their flipzone because the Philippine flipzone does not extend to the Swahili coast and TJ says they are playing as the Philippines. It spawns a Balangay as coded so it is not an issue with Consts.py.

This line also existed in 1.15 so it was not introduced by my update.
https://github.com/MeuhV1/Dawn-of-C...e1c55b0bd57cb5bb/Assets/Python/RiseAndFall.py
1SDAN is correct. I am the Philippines but when the Swahili spawned I got a balangay off their coast. If intentional it was definitely useful, even with the Swahili balangay I was still barely unable to complete the embassies UHV due to civs I had embassies with collapsing, so without it I think it would be incredibly difficult if not impossible. I guess I would've had to send a fleet of balangays through hostile Indie and barbarian waters to get to Africa.

Regarding the Zimbabweans, even playing expansively the nearest Pig is in Southern Italy, the nearest deer is in Iran or Brazil and the nearest horse is in Somalia (not totally unreasonable). Would it make more sense to replace one of those resources with elephant? Or perhaps adjust the resource map for Sub-Saharan Africa... it certainly makes sense to have hunting game represented by deer. Also, considering the mod includes the Boer a late game civ, spawning resources like horses, grains, etc for Sub-Saharan Africa might make sense.

EDIT: That said I just conquered Brazil as Zimbabwe so...
 
Last edited:
Mamluk spawn was a bit iffy. Had to wait 2 turns inside Arabian territory with my initial unit stack, without a city. Once the flip commenced, the capital was actually outside the core, in historical territory, and not Al-Uqsur.
 
Another observation about Mamluks. Aren't their modifiers a bit too good?
 
Submitted a pull request to fix a typo and the previously reported Flavor_Civics in Barghash's leaderhead declaration.
 
How do you switch back to the main remote for develop?
 
Do you mean the DoC main remote? The same as usual. git-checkout. I don't know how you called the DoC remote, but it is probably remote/origin/develop.
Yeah, that's definitely what it's called. I'm getting "git did not exit cleanly (exit code 1)" though.

EDIT: Possibly of importance, the folder has a red dot on it instead of the green and has since I switched it to your remote but your mod mod was working fine none-the-less so I didn't make much of it.
 
Last edited:
Top Bottom